解压mysql5.7.tar.gz到/usr/local/mysql
添加用户和用户组
groupadd mysql
useradd -r -g mysql mysql
修改权限
chown -R mysql:mysql ./
创建my.cnf文件
vi /etc/my.cnf
!includedir /etc/my.cnf.d
#[mysqld_safe]
#log-error=/var/log/mysql/mysql-error.log
[mysqld]
user = mysql
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=2
max_allowed_packet=16M
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8
[mysql]
no-auto-rehash
default-character-set=utf8
初始化数据库
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
启动mysql
./support-files/mysql.server restart
添加到系统服务
cp support-files/mysql.server /etc/init.d/mysqld
设置权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
重启
/etc/init.d/mysqld restart
设置开机启动
chkconfig --level 35 mysqld on
chkconfig --add mysqld
添加环境变量,编辑文件vim /etc/profile,在最后添加如下内容
#set mysql environment
export PATH=$PATH:/usr/local/mysql/bin
执行source /etc/profile生效
获得mysql初始密码
cat /root/.mysql_secret
修改密码,使用mysql -uroot -p登录,进入mysql命令行,执行
如果连接不了,请在/etc/my.cnf文件中的[mysqld]添加skip-grant-tables跳过登录
(注意,新版本已取消password字段)
use mysql;
update user set authentication_string=password('123456') where user='root' and host='localhost';
如果提示
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
则执行
flush privileges;
在mysql5.7中开启远程访问执行
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
重启mysql生效
systemctl restart mysqld.service
添加防火墙规则
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload
查看已开放的端口
firewall-cmd --list-ports