实践:如何在CentOS7上使用源码安装mysql-server-5.6.22

第一步:准备工作

1)添加用户组和用户

# groupadd mysql# useradd -g mysql mysql

2)建立安装目录

# mkdir -p /home/mysql# mkdir -p /var/lib/mysql# mkdir -p /var/run/mysqld

3)授权

# chown -R mysql:mysql /home/mysql# chown -R mysql:mysql /var/lib/mysql# chown -R mysql:mysql /var/run/mysqld

第二步:下载安装

1)下载mysql-5.6.22

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.22.tar.gz

2)安装支持包

# yum -y install gcc gcc-c++ cmake ncurses-devel libtool zilib-devel

3)解压:

# tar -zxvf mysql-5.6.22.tar.gz# cd mysql-5.6.22

4)配置mysql

# /usr/bin/cmake \-DCMAKE_INSTALL_PREFIX=/home/mysql \-DMYSQL_DATADIR=/home/mysql/data \-DSYSCONFDIR=/etc \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DMYSQL_TCP_PORT=3306 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock

参数说明:

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径

-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置

-DSYSCONFDIR=/etc \ #my.cnf路径

-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎

-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎

-DWITH_READLINE=1 \ #快捷键功能(我没用过)

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径

-DMYSQL_TCP_PORT=3306 \ #端口

-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据

-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区

-DEXTRA_CHARSETS=all \ #安装所有的字符集

-DDEFAULT_CHARSET=utf8 \ #默认字符

-DDEFAULT_COLLATION=utf8_general_ci

5)编译mysql

# make

6)开始安装mysql

# make install

7)修改mysql目录所有者和组

# chown -R mysql:mysql /home/mysql# chown -R mysql:mysql /var/lib/mysql# chown -R mysql:mysql /var/run/mysqld

8)初始化

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

# cd /home/mysql/#./scripts/mysql_install_db --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

9)复制mysql服务启动配置文件

# cp /home/mysql/support-files/my-default.cnf /etc/my.cnf

修改my.cnf配置(可参考以下模板)

[mysqld]explicit_defaults_for_timestamp = truelog-bin-trust-function-creators=1datadir=/home/mysql/data#tmpdir=/dev/shm/mysqltempsocket=/var/lib/mysql/mysql.sockuser=mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0#bind-address = 0.0.0.0max_connections = 350# Using one file per table#innodb_buffer_pool_size = 1G # 70-80% of memory is a safe bet.innodb_file_per_table = 1 # If you do not have too many tables use this option.#innodb_log_file_size = 2048M#innodb_log_buffer_size = 4Minnodb_flush_log_at_trx_commit = 2innodb_flush_method = O_DIRECT##thread_concurrency = 32##thread_cache_size = 200#query_cache_type = 1#query_cache_limit = 128M#query_cache_size = 256M##innodb_flush_log_at_trx_commit = 0# # How to create the ibdata#innodb_data_file_path = "ibdata1:10M:autoextend"## # ibdata growth step#innodb_autoextend_increment = 8##slow_query_log = 1#long-query-time = 5#slow_query_log_file = /home/db/mysql/slow.log#[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

10)复制mysql服务启动脚本及加入PATH路径

cp /home/mysql/support-files/mysql.server /etc/init.d/mysql

查看root是否有执行权限,如果没有则加上:

# chmod +x /etc/init.d/mysql

设置PATH,要不不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

# echo 'PATH=/home/mysql/bin:$PATH' >>/etc/profile# echo 'export PATH' >>/etc/profile

关闭文件,运行下面的命令,让配置立即生效

# source /etc/profile

11)启动mysql服务并加入开机自启动(可选这个步骤,以后可以自己启动的)

# service mysql start# chkconfig --level 35 mysql on

查看日志

12)检查mysql服务是否启动

# netstat -tnl|grep 3306

13)登陆并修改密码(默认密码为空)

# mysql -uroot -pEnter password:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.6.22 Source distributionCopyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> set password=password('123456');Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)或直接使用mysqladmin命令修改:# mysqladmin -u root password '123456'

PS: 若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'password' WITH GRANT OPTION;mysql> flush privileges;

本文结束

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章