linux centos7安装mysql57
在安装之前先检查一下之前有没有安装过,如果之前安装过,先卸载完全再重新安装
1.将mysql的包传送到 /usr/local/下
用#tar -zxvf命令解压文件
#tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

将解压出来的mysql-5.7.23-linux-glibc2.12-x86_64文件名改为:mysql
#mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql

2.创建data目录,用于存放mysql数据
#mkdir /usr/local/mysql/data
3.新建mysql用户组和mysql用户
#groupadd mysql
#useradd mysql -g mysql
将/usr/local/mysql的所有者及所属组改为mysql
#chown -R mysql.mysql /usr/local/mysql
4.配置mysql
#/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
如果出现错误如下
2018-07-14 06:40:32 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2018-07-14 06:40:32 [ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32
2018-07-14 06:40:32 [ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql
-- server log begin --
-- server log end --
则执行:
#/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
如果出现错误如下
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
则执行
#yum -y install numactl

幸运的是没有出现错误
5.上述操作完成后,清空 /usr/local/mysql/data/文件夹下的所有数据
#rm -rf /usr/local/mysql/data
#mkdir /usr/local/mysql/data
继续安装mysql:
#/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

6.接着编辑/etc/my.cnf 文件
#vi /etc/my.cnf
将下面的内容覆盖原来的内容
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

注意:开头第一行不要有空格!!!!
备份
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
7.设置开机自启
#chkconfig mysql on
8.开启服务
#service mysql start

9.登陆,因为my.cnf文件里已经配置了(skip-grant-tables)取消密码验证,所以密码可以随意输入
#/usr/local/mysql/bin/mysql -u root -p
进入mysql以后,设置新密码
>>use mysql;
>>update user set authentication_string=password('你的密码') where user='root';
>>flush privileges;
>>exit;

编辑/etc/my.cnf文件,将skip-grant-tables删除

10.重启mysql服务
#service mysql restart
11.登陆mysql
#/usr/local/mysql/bin/mysql -u root -p
进入mysql以后执行
>>ALTER USER 'root'@'localhost' IDENTIFIED BY '修改后的密码';
>>exit;

12.最后允许远程登陆
#/usr/local/mysql/bin/mysql -u root -p
>>use mysql;
>>update user set host='%' where user = 'root';
>>flush privileges;
>>exit;

然后开启3306端口就可以进行连接了
关于centos7端口的问题请访问连接:http://www.jiajiajia.club/weblog/blog/artical/154
