本来是要安装mysql8的,但是后面发现mysql8使用起来会有一些问题,查了很多地方,还是解决不了,最后还是用了mysql5.7,至少兼容性以及实用性方面还是OK的。
1、进入保存mysql安装包的路径
cd usr/local/src/(放哪自己安排)
2、下载mysql5.7二进制包
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
3、解压缩
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
4、将解压的mysql5.7包移动到/usr/local/下并改名为mysql
mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql
5、进入mysql目录
cd /usr/local/mysql
6、新增mysql用户,并禁止shell登陆
useradd -M -s /sbin/nologin mysql
7、根目录(和usr同级)创建data文件夹,不创建初始化会报错
mkdir data
8、初始化mysql5.7数据库
./bin/mysqld --initialize --user=mysql --datadir=/data/mysql
初始化的时候比较容易出现以下问题:
1)./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决办法:yum install -y libaio //安装后在初始化就OK了
9、初始化完成后注意一下生成的临时密码,在最后,我的是"Oy/pP=h2Cl1D"
10、设置mysql启动项
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
11、复制修改主配置文件(先查看有没有这个文件,有则覆盖)
cp ./support-files/my-default.cnf /etc/my.cnf
copy完成后修改
vim /etc/my.cnf
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql //指定程序路径
datadir = /data/mysql //指定数据存放路径
port = 3306 //指定端口号
# server_id = .....
socket = /tmp/mysql.sock //指定sock文件
12、复制启动脚本文件到init.d下
cp ./support-files/mysql.server /etc/init.d/mysqld
13、启动mysql
chkconfig --add mysqld //加入开机启动
/etc/init.d/mysqld start //启动mysql服务
ps aux |grep mysqld // 查看mysql进程
netstat -ntlp | grep 3306 //查看3306端口监听情况
14、设置密码
1)先使用初始化时候的临时密码登录
/usr/local/mysql/bin/mysql -uroot -p'Oy/pP=h2Cl1D'
2)修改mysql登录密码
mysql> set password = password('mysql');
15、完成后可能出现的问题
1)1130-Host'116.22.209.xx' is not allowed to connect to this MySQL server
解决办法:
直接改表:
mysql>use mysql;//切换数据库
mysql>update user set host = '%' where user = 'root';//更改权限
mysql>select host, user from user;//查询更改结果
mysql>FLUSH PRIVILEGES;//使生效
mysql>EXIT;//退出