Linux环境—在线安装MYSQL数据库
一、使用步骤
1.安装环境
Mysql 驱动 8.0 需要 jdk1.8+ 才行。
JDK版本:1.8 参考文档
MYSQL版本:8.0.2
下载链接: https://pan.baidu.com/s/1MwXIilSL6EY3OuS7WtpySA?pwd=g263
操作系统:CentOS
1.1 建立存放软件的目录
注意:此处本人是将需要按照的软件存放在directory目录下,可根据实际情况调整接收路径。
命令如下:
mkdir directory
如果软件目录已经存在,直接切换到软件目录下
命令如下:
cd /directory
注意:命令 ll 是查看directory 有哪些信息
2.安装Mysql
2.1 卸载mariadb相关包
命令如下:
yum remove mariadb-libs
输入y,继续
2.2 创建用户
命令如下:
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
2.3 创建mysql的数据目录/根目录(安装目录)
命令如下:
mkdir /home/mysql_data
mkdir /usr/local/mysql
2.4 解压并创建软链接
命令如下:
tar -zxvf mysql-8.0.20-el7-x86_64.tar.gz
mv mysql-8.0.20-el7-x86_64/* /usr/local/mysql
2.5 配置数据库信息
命令如下:
cd /etc
vi /etc/my.cnf
#用vim编辑器来编辑profile文件,在文件末尾添加以下内容:
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/home/mysql_data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
slow_query_log=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
wait_timeout=1800
interactive_timeout=1800
general_log=ON
general_log_file=/home/mysql_data/mysql_general.log
log_bin=ON
log-bin=/home/mysql_data/mysql-bin
expire_logs_days=5
max_binlog_size = 512M
sort_buffer_size = 1048576
server-id=1[client]
port=3306[mysql]
default-character-set=utf8mb4
(注意:按i为输入键,输入后,按esc退出编辑,再次输入:wq!强制保存)
2.6 设置目录权限
命令如下:
chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /home/mysql_data
cd /usr/local/mysql
2.7 初始化MySQL
命令如下:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql_data
提示
The syntax ‘expire-logs-days’ is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
(语法“expire-logs-days”已弃用,并将在将来的版本中删除。请改用binlog_expire_logs_conds。)
打印出来的是数据库[用户名/密码]:[root/e-s:slNqu1_y],密码需保存,记录
命令如下:复制support-files内容到已存在的etc目录下
cp support-files/mysql.server /etc/init.d/mysql
命令如下:设置软链接
ln -sf /usr/local/mysql/bin/mysql /usr/bin/mysql
软链接(注意:软链接的path为对应的解压路径,如果路径不同,需要调整命令)
2.8 使用systemctl管理服务
重新加载服务
设置为开机自启
启动
命令如下:
systemctl daemon-reload
systemctl enable mysql
systemctl start mysql
补充:
systemctl status mysql --查看mysql服务状态
systemctl restart mysql --重启mysql服务
systemctl stop mysql --停止mysql服务
systemctl disable mysql --系统启动时禁止MySQL服务启动
3.使用Mysql
3.1 进入数据库
使用2.7保存的:数据库[用户名/密码]:[root/e-s:slNqu1_y]
命令如下:
bin/mysql -u root -p
输入密码e-s:slNqu1_y
3.2 修改root密码
命令如下:
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'test@mysql';
出现如下报错
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
根据提示执行ALTER命令修改本地登录的root账号的密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test@mysql';
到此数据库root账号本地登录的密码为:test@mysql
根据提示执行ALTER命令修改任意地址登录的root账号的密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'test@mysql';
到此数据库root账号任意地址登录登录的密码为:test@mysql
3.3 创建数据库
命令如下:
CREATE DATABASE test_manage DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
命令如下:显示所有的数据库
show databases;
3.4 创建⽤户
@‘localhost’(本地访问Only) @‘%’(可以外部访问)
命令如下:
CREATE user 'local_users'@'localhost' IDENTIFIED WITH mysql_native_password BY 'local_users@123456';
CREATE user 'portal_users'@'%' IDENTIFIED WITH mysql_native_password BY 'portal_users@123456';
%,表示任意IP地址都可以登录
localhost,表示仅仅允许本地登录
命令如下:执行此命令,可以看出portal_users任意IP地址都可以登录、local_users仅仅允许本地登录
use mysql;
select user, host from user;
3.5 授权⽤户权限
授权⽤户CRUD以及创建表的权限
命令如下:
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP, REFERENCES, EXECUTE,ALTER ROUTINE ON test_manage.* TO 'portal_users'@'%';
GRANT CREATE, SELECT, INSERT, UPDATE, DELETE, DROP, REFERENCES, EXECUTE,ALTER ROUTINE ON test_manage.* TO 'local_users'@'localhost';
命令如下:
flush privileges;
退出数据库(exit/quit)
命令如下:
exit
4.防火墙开放3306端口
命令如下:
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload