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

posted @ 2021-02-06 11:56  wujingqi  阅读(85)  评论(0编辑  收藏  举报