一、准备工作
操作系统:CentOS release 7(1406-x86_64)64位
软件包MySQL:mysql-5.6.26.tar.gz
yum源:可正常连接内网或公网yum源服务器
二、卸载旧版本
1、查找老版本的mysql的目录、并删除老版本的mysql的文件和库
# find / -name mysql
2、删除对应的mysql目录
# rm -rf /usr/lib64/mysql
# rm -rf /usr/share/mysql
3、卸载后/etc/my.cnf不会删除,需要进行手工删除
# rm -rf /etc/my.cnf
4、再次查找机器是否安装mysql
# find / -name mysql //无结果说明已经删除完成。
三、安装MySQL
1、基础软件包安装
# yum -y install wget make gcc gcc-c++ cmake bison-devel ncurses ncurses-devel openssl openssl-devel libtool*
2、编译安装
# mkdir -p /hskj/mysql //递归创建mysql数据存储位置
# cd /hskj //mysql安装包上传到该文件夹下
# tar xzvf mysql-5.6.26.tar.gz
# cd mysql-5.6.26
//点击蓝色view plain 手动复制
# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/hskj/mysql \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
-DENABLE_DOWNLOADS=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=yes \
按回车继续
# make && make install
Tip:
============================================================================
-DCMAKE_INSTALL_PREFIX= 安装根目录
-DCMAKE_INSTALL_PREFIX= unix套接字目录
-DDEFAULT_CHARSET= 默认字符集
-DDEFAULT_COLLATION=默认编码
-DWITH_EXTRA_CHARSETS= 额外的编码,请使用ALL来编译。
-DWITH_MYISAM_STORAGE_ENGINE=1 编译myisam存储引擎,默认的存储引擎,不加也可以
-DWITH_INNOBASE_STORAGE_ENGINE=1 支持InnoDB存储引擎,这个也是默认安装的
-DWITH_READLINE=1 使用readline功能
-DENABLED_LOCAL_INFILE=1 可以使用load data infile命令从本地导入文件
-DMYSQL_DATADIR=数据库 数据目录
==================================================================================
四、配置MySQL
1、使用下面的命令查看是否有mysql用户及用户组
# cat /etc/passwd 查看用户列表
# cat /etc/group 查看用户组列表
2、如没有则创建
# groupadd mysql
# useradd -g mysql mysql
3、修改安装目录、数据库存放目录权限(数据存储位置与上面一致)
# chown -R mysql:mysql /usr/local/mysql
# chown -R mysql:mysql /hskj/mysql
4、初始化配置
# cd /usr/local/mysql
# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/hskj/mysql --user=mysql
# cp ./my.cnf /etc/my.cnf
5、添加服务,拷贝服务脚本到init.d目录,并设置开机启动。
# cd /usr/local/mysql
# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 2345 mysqld on
# /etc/rc.d/init.d/mysqld start
五、用户配置
1、设置PATH,在/etc/profile文件末尾添加如下内容,保存并退出。
PATH=/usr/local/mysql/bin:$PATH
export PATH
2、运行下面的命令,让配置立即生效。
# source /etc/profile
3、执行下面的命令修改root密码
# mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
4、若想让数据库用户root,使用密码123456,从"任何主机"连接到mysql服务器,则执行。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
5、若想让数据库用户root,使用密码123456,从"网段192.168.10.0的所有主机"连接到mysql服务器,则执行。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.10.%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
6、若想让数据库用户root,使用密码123456,从"ip为192.168.10.1的主机"连接到mysql服务器,则执行。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.10.1' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
7、若想让数据库用户root,使用密码123456,从ip为192.168.10.1的主机连接到mysql服务器的"sms数据库",则执行。
mysql> GRANT ALL PRIVILEGES ON sms.* TO 'root'@'192.168.10.1' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;