1、去MySQL官网下载glibc压缩包mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz,版本自选
2、检查当前系统中是否已经安装了MySQL
rpm -qa | grep mysql
3、如果有的话卸载已安装的MySQL
rpm -e --nodeps mysql-connector-odbc-5.2.5-6.el7.x86_64
4、检查一下系统是否存在 mariadb 数据库
rpm -qa | grep mariadb
5、如果有的话,同上卸载
6、将MySQL包上传到服务器,解压,在/user/local下创建mysql文件夹,并将解压出来的文件移动过去
tar -zvxf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gzmv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql
7、修改/etc/my.cnf,没有的话手动创建,内容如下,可根据自己的需求进行修改,不是固定配置
#mysql客户端默认字符集[mysql]default-character-set=utf8socket=/var/lib/mysql/mysql.sock[mysqld]sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONserver_id=101#开启binloglog_bin=mysql-bin#binlog格式binlog_format=ROW#skip-name-resolve###设置3306端口#port = 3306#socket=/var/lib/mysql/mysql.sock### 设置mysql的安装目录#basedir=/usr/local/mysql### 设置mysql数据库的数据的存放目录#datadir=/usr/local/mysql/data### 允许最大连接数#max_connections=200### 服务端使用的字符集默认为8比特编码的latin1字符集#character-set-server=utf8### 创建新表时将使用的默认存储引擎#default-storage-engine=INNODB###lower_case_table_name=1#max_allowed_packet=16M
8、添加 mysql 组和 mysql 用户
#添加 mysql 组groupadd mysql#添加 mysql 用户useradd -r -g mysql mysql
9、检查是否安装了 libaio
rpm -qa | grep libaio#没有则安装yum -y install libaio
10、进入/usr/local/mysql目录,创建data文件夹,修改当前目录拥有者为 mysql 用户
[root@localhost mysql]# mkdir ./data[root@localhost mysql]# chown -R mysql:mysql ./
11、创建/var/lib/mysql目录,修改当前拥有者为mysql用户
mkdir /var/lib/mysqlchown -R mysql:mysql /var/lib/mysql
12、初始化mysqld
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/#此处会生成初始密码,需要记住,后边登录使用
13、设置开机自启
a. 复制启动脚本到资源目录:[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
b. 增加 mysqld 服务控制脚本执行权限:[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
c. 将 mysqld 服务加入到系统服务:[root@localhost mysql]# chkconfig --add mysqld
d. 检查mysqld服务是否已经生效:[root@localhost mysql]# chkconfig --list mysqld
命令输出类似下面的
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用 service 命令控制 mysql 的启动和停止。
14、环境变量配置
打开 /etc/profile文件,在尾部追加配置
export PATH=$PATH:/usr/local/mysql/bin
重新加载环境变量
source /etc/profile
15、启动MySQL,使用初始密码登录
systemctl start mysql
16、登录后配置
初次登录需要设置密码才能进行后续的数据库操作:SET PASSWORD = PASSWORD('123456');(密码设置为了123456)
修改密码为 password:update user set authentication_string=PASSWORD('password') where User='root';
17、创建用户
mysql> use msyql
mysql> create user 'user-name'@'ip-address' identified by 'password'; #引号部分自己修改即可
其他方案:
授权root用户可以进行远程连接,注意替换以下代码中的“password”为 root 用户真正的密码,
另外请注意如果你的root用户设置的是弱口令,那么非常不建议你这么干!:
mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;
mysql> flush privileges;
18、开启防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
CentOS升级到7之后,使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口
—zone : 作用域,网络区域定义了网络连接的可信等级。
这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接
—add-port : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp
—permanent : 永久生效,没有此参数系统重启后端口访问失效
