mysql安装使用
Linux环境
一.官网repo安装mysql
https://dev.mysql.com/downloads/repo/yum/
参考:https://blog.csdn.net/ntuxiaolei/article/details/81777335?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
https://blog.csdn.net/qq_36582604/article/details/80526287?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
执行命令: wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install mysql80-community-release-el7-3.noarch.rpm -y
yum install mysql-community-server.x86_64 -y
yum命令安装 ,没安装上,应该是镜像不对,此处为我直接进行安装,没有引入官网的repo时出现的问题,即系统自身并没有mysql的repo
启动:systemctl start mysqld.service
自启:systemctl enable mysqld.service
systemctl daemon-reload 意思是mysql为新安装的服务,用systemctl管理,为使mysql新配置的文件生效,需从新加载配置文件
在默认路径下查看默认密码:vim /var/log/mysqld.log 或直接打印:grep "password" /var/log/mysqld.log
登录:mysql -u root -p
修改:ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wjq123456@';(默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位)
查看密码策略:SHOW VARIABLES LIKE 'validate_password%';
修改密码策略:set global validate_password.check_user_name=OFF;
set global validate_password.policy=LOW;
set global validate_password.length=4;
flush privileges;
exit/quit;
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
允许远程登陆:
use mysql;
update user set Host='%' where User='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; ①
flush privileges;
exit/quit;
远程连接或关闭防火墙或开放3306端口,但前提还是需要允许远程登陆,不然使用SQLyog等工具登陆时
开放3306端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
开放8080端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
刷新:firewall-cmd --reload
在①出报错 You are not allowed to create a user with GRANT
参考:https://blog.csdn.net/mxskymx/article/details/88765072
如不是utf-8字符格式,退出mysql,然后再到、etc目录下的my.cnf文件下修改一下文件内容,我这个是正常的,就没改
改的话大概就是下图的样子吧
修改后,重启mysql systemctl restart mysqld.service
在做完上面的步骤后,仍不能远程连接,需更改密码加密方式
use mysql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
二、去官网下载安装 https://dev.mysql.com/downloads/mysql/
1、下载安装包
默认展示最新版本,点击查看上一个版本
版本选择,centos基于Redhat,所以这两个选哪个都行。
或者点击,选择版本和对应的系统
下载5.7.32版本,64位。 通过uname -a 能打印出系统位数
2、安装
https://www.cnblogs.com/shidian/p/11589626.html
删除自带mysql
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
/etc/my.cnf 是否存在,存在则删除
解压安装包
重命名mysql
检查mysql组和用户是否存在,如不存在则创建
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
创建用户组及修改权限
groupadd mysql
useradd -r -g mysql mysql
创建目录、赋予权限
mkdir -p /data/mysql #创建目录
chown mysql:mysql -R /data/mysql #赋予权限
配置my.cnf
vi /etc/my.cnf
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err pid-file=/data/mysql/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true
basedir,datadir路径不要弄错。
初始化数据库
进入MySQL的bin目录。
cd /usr/local/mysql/bin/
初始化。
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
查看密码。
cat /data/mysql/mysql.err
启动mysql
先将mysql.server放置到/etc/init.d/mysql中。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
启动。
service mysql start
ps -ef|grep mysql
修改密码
./mysql -u root -p #bin目录下
//又一次配置服务器mysql,结果在这报错了:./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
https://blog.csdn.net/weixin_43849519/article/details/104832300
应该是对的,新的服务器版本centos8,之前都是7,缺少libncuress,就安装它。yum install libncurses*
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
远程连接
use mysql #访问mysql库
update user set host = '%' where user = 'root'; #使root能再任何host访问
FLUSH PRIVILEGES; #刷新
如果不希望每次进到bin目录下使用mysql命令,则执行一下命令。
ln -s /usr/local/mysql/bin/mysql /usr/bin