参考文章
https://www.xiaocoder.com/2017/03/17/mysql-installation-guide/
下载5.7的mysql 社区版包
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar
如果是redhat7系统需要删除mariadb的包
使用以下命令检查并删除mariadb包
rpm -e --nodeps $(rpm -qa | grep mariadb)
上传到/tmp目录解压缩
tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar
安装rpm包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
创建目录并设置所属
mkdir -p /data/mysql/{data,tmp,log}
chown -R mysql:mysql /data/mysql/{data,tmp,log}
修改配置文件(清除源文件的内容加入以下内容)
vi /etc/my.cnf
[client]
port = 3306
socket = /data/mysql/tmp/mysql.sock
default-character-set = utf8mb4
[mysqld]
port = 3306
datadir = /data/mysql/data
pid-file = /data/mysql/tmp/mysqld.pid
socket = /data/mysql/tmp/mysql.sock
log-error = /data/mysql/log/error.log
character_set_server = utf8mb4
user = mysql
bind-address = *
server-id = 1
symbolic-links=1
connect_timeout = 3600
wait_timeout = 3600
interactive_timeout = 3600
explicit_defaults_for_timestamp = true
启动mysql服务
systemctl start mysqld
获取安装过程中自动生成的密码到MySQL_PASS变量
MySQL_PASS=$(cat /data/mysql/log/error.log | grep "A temporary password" | awk '{print $NF}')
使用root加MySQL_PASS变量登陆
mysql -u root -p"${MySQL_PASS}"
设置新的密码为Admin123,.
mysql> SET PASSWORD='Admin123,.';
开启远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.197.1' IDENTIFIED BY 'ADmin123,.' WITH GRANT OPTION;
flush privileges;
第一行中,这个是仅允许192.168.197.1远程访问数据库。
root是账户名,后面的ADmin123,.是密码(远程密码)。
即,允许来自10.10.11.12的连接并使用root账户和ADmin123,.这个密码进行访问。
ALL PRIVILEGES ON 后面的*.*表示所有数据库,即完全访问权限,可以指定为特定数据库。
而IP这里,可以使用%来表示所有IP。使用192.168.197.%这样代表一个网段
第二行是使设置立刻生效。