1. 下载mysql5.7.22版本,并上传到linux服务器上
2. 将mysql5.7.22解压到/usr/local下,并重命名为mysql
3. 添加mysql用户
groupadd mysql
useradd -r -g mysql mysql
4. 安装数据库
4.1 切到mysql目录:cd /usr/local/mysql
4.2 修改当前目录拥有者为mysql用户
chown -R mysql:mysql ./
4.3 安装数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
4.4 生成临时密码:
执行以下命令创建RSA private key
bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
4.5 修改目录拥有者
修改当前目录拥有者为mysql用户 chown -R mysql:mysql ./
修改当前data目录拥有者为mysql用户 chown -R mysql:mysql data
5.配置my.cnf
在etc目录下建一个my.cnf文件,然后设上一些值
vim /etc/my.cnf
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写
lower_case_table_names = 1
log-error=/var/log/mysqld.log
bind-address = 0.0.0.0
注意:这里我跟原来参考的一篇文章写得有所不同:1.我没有写pid-file的位置,因为之前设置之后总是启动不起来,报一个跟这个pid有关的错误,所以我就删除了,然后就可以正常启动了;2.我设置了bind-address = 0.0.0.0 这里千万不能写127.0.0.1,否者不能支持远程连接。
6. 添加开机启动
6.1 执行 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
6.2 修改 vim /etc/init.d/mysqld ,指定basedir和datadir的位置:
7. 启动mysql
service mysql start
8.修改登录密码
8.1 mysql -uroot -p (然后输入刚才安装时分配的初始密码)登录mysql。
如果执行上述命令时,报mysql命令不存在,则执行如下命令: ln -s /usr/local/mysql/bin/mysql /usr/bin
8.2 修改登录密码
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
8.3 退出重新登录,就可以使用新密码了
9. 开启远程访问
9.1 给mysql的root用户开启远程访问授权
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;
注意:password记得改为自己的访问密码
执行完如上命令,可以用如下命令检查下执行结果:
select host,user,password from user;
9.2 修改防火墙配置
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
9.3 查看3306端口状态,如果不是监听状态,还需要检查其他配置。
netstat -an | grep 3306
至此,mysql安装完成,并可以远程访问。