1、下载MySQL数据库。
楼主下载的是源包:mysql-8.0.12-linux-glibc2.12-x86_64.tar
下载路径:官方渠道 https://dev.mysql.com/downloads/file/?id=479844
参考文档 https://www.cnblogs.com/xinjing-jingxin/p/8025805.html
2、上传至服务器,解压,进入源包路径
rm -fr mysql-8.0.12-linux-glibc2.12-x86_64.tar
xz -d mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz (tar.xz格式转换为tar)
tar xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar
3、将源包中的文件拷贝至 /usr/local/mysql 中
# mv mysql-8.0.12-linux-glibc2.12-x86_64/ /usr/local/
# cd /usr/local/
# mv mysql-8.0.12-linux-glibc2.12-x86_64/ mysql
备注:楼主将存放目录建在/usr/local/mysql 中
4、创建Mysql用户组和用户,及数据库存放目录
1)创建用户组、用户
# groupadd mysql
# useradd mysql -r -g mysql
2)数据库数据默认目录datadir=/var/lib/mysql ,修改目录为:/usr/local/mysql/data
# cd /usr/local/mysql/
# mkdir -p data
3)修改目录权限
# chown -R mysql:mysql ./
5、配置文件(注意具体的参数路径依据实际路径)
#vi /etc/my.cnf
[mysqld] server-id=1 port=3306 mysqlx_port=33060 mysqlx_socket=/tmp/mysqlx.sock datadir=/usr/local/mysql/data socket=/tmp/mysql.sock pid-file=/tmp/mysqld.pid log-error=error.log slow-query-log=1 slow-query-log-file=slow.log long_query_time=0.2 log-bin=bin.log relay-log=relay.log binlog_format=ROW relay_log_recovery=1 #haracter-set-client-handshake = FALSE character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4' innodb_buffer_pool_size=1G join_buffer_size=128M sort_buffer_size=2M read_rnd_buffer_size=2M log_timestamps=SYSTEM lower_case_table_names=1 default-authentication-plugin=mysql_native_password
6、初始化数据库
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize-insecure
初始化成功后,在data目录中生成如下图的目录。
如果初始化失败,清空data目录,重新执行初始化命令。
7、设置启动文件
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动mysql
设置开机自启动,执行如下命令
# chkconfig --add mysql
# chkconfig --level 345 mysql on
8、设置环境变量
cd /etc/profile.d
vi mysql.sh
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile.d/mysql.sh
9、启动数据库
service mysql stop:
service mysql start
service mysql status
10、创建一个新用户zabbix
1)无密码进入数据库
/usr/local/mysql/bin/mysql -p -S /tmp/mysql.sock
不需要密码,需要输密码时,点击Enter键。
2)use mysql;
3)创建新用户zabbix
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Admin@123';
flush privileges;
备注:要经常刷新权限
update user set host='%' where user='zabbix';
flush privileges;
4)设置权限
grant all privileges on *.* to zabbix@'%' with grant option;
flush privileges;
select host, user, authentication_string, plugin from user;
如果列表中有多余的root用户,需删除。(SQL命令例子:DROP USER 'root'@'localhost.localdomain';)
show grants for 'zabbix';
5)登录验证
mysql -u zabbix -p
6)使用远程工具Navicat登录测试
防火墙添加3306端口。