文章目录
1.下载mysql安装包
#进入根目录下的opt目录
[root@wzxm72ns root]~ cd /opt
#创建mysql文件夹
[root@wzxm72ns opt]~ mkdir mysql
#下载mysql安装包-x86_64.tar.xz
[root@wzxm72ns opt]~ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12
2.解压文件到/usr/local目录下并重命名
# 解压
[root@wzxm72ns opt]~ tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
# 移动到/usr/local/目录下并重命名为mysql
[root@wzxm72ns opt]~ mv mysql-8.0.21-linux-glibc2.12-x86_64 /usr/local/mysql
3.创建data文件夹存储文件
[root@wzxm72ns opt]~ cd /usr/local/mysql/
[root@wzxm72ns mysql]~ mkdir data
4.创建用户组及其密码
[root@wzxm72ns mysql]~ groupadd mysql
[root@wzxm72ns mysql]~ useradd -g mysql mysql
5.授权文件夹
# 给文件夹授权
[root@wzxm72ns mysql]~ chown -R root:root /usr/local/mysql
# 给文件夹授权
[root@wzxm72ns mysql]~ chown -R mysql:mysql /usr/local/mysql/data/
6.初始化数据库
# 初始化数据库,mysql的bin目录下的mysqld命令
[root@wzxm72ns mysql]~ /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
临时密码:root@localhost:后面的那串代码
注意!有些电脑此时可能会出现以下报错
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
原因:缺少libaio库文件
解决方法:安装libaio
[root@wzxm72ns mysql]~ yum -y install libaio
7.创建my-default.cnf文件并配置权限
# 进入support-files文件夹内(在mysql目录下)
[root@wzxm72ns mysql]~ cd support-files/
# 创建my-default.cnf
[root@wzxm72ns support-files]~ touch my-default.cnf
# 配置权限
[root@wzxm72ns support-files]~ chmod 777 ./my-default.cnf
8. 配置my.cnf
# 编辑my.cnf配置文件
[root@wzxm72ns support-files]~ vi /etc/my.cnf
点击a或i进入编辑模式,将以下内容复制进命令行中
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
port = 6583
#lower_case_table_names = 1
# server_id = .....
# socket = .....
#lower_case_table_names = 1
max_allowed_packet=32M
default-authentication-plugin = mysql_native_password
#lower_case_file_system = on
#lower_case_table_names = 1
log_bin_trust_function_creators = ON
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
按esc退出编辑模式,然后输入 :wq 保存并退出
如果后期mysql运行报错,可以直接到log-error = /usr/local/mysql/data/error.log目录下直接查看错误日志
命令:cat /usr/local/mysql/data/error.log
9.设置开机自启
[root@wzxm72ns support-files]~ cd /usr/local/mysql/support-files
# 复制文件
[root@wzxm72ns support-files]~ cp mysql.server /etc/init.d/mysql
[root@wzxm72ns support-files]~ chmod +x /etc/init.d/mysql
10.注册服务并检测
[root@wzxm72ns support-files]~ chkconfig --add mysql
[root@wzxm72ns support-files]~ chkconfig --list mysql
如下表示mysql被正确注册
11.添加配置
在ld.so.conf添加如下配置,不然会报错
[root@wzxm72ns support-files]~ vi /etc/ld.so.conf
添加如下内容:
/usr/local/mysql/lib
配置环境变量
[root@wzxm72ns support-files]~ vi /etc/profile
添加如下内容:
# MYSQL ENVIRONMENT
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
使文件立刻生效
[root@wzxm72ns support-files]~ source /etc/profile
12.登录并修改密码
[root@wzxm72ns support-files]~ service mysql start
# 输入初始化数据库随机生成的密码,这里不会显示
[root@wzxm72ns support-files]~ mysql -uroot -p
# 修改密码
mysql> alter user 'root'@'localhost' identified by 'kid+1412';
13.开启远程连接
# 选择mysql数据库
mysql> use mysql
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;
# 授权root用户可以远程登陆
mysql> GRANT ALL ON *.* TO 'root'@'%';
# 立即生效
mysql> flush privileges;
# 修改远程连接密码
mysql> alter user 'root'@'%' identified with mysql_native_password by 'kid+1412'
之后就可以通过Navicat测试是否能够连通mysql了。
14.导入数据库
# 选择mysql数据库
mysql> mysql -u用户名 -p密码
# 连接你要导入的数据库的名字
mysql> use 数据库名
# 导入sql文件
mysql> source /tmp/database.sql;