linux 上安装MySql

一、获取mysql YUM   

打开网址:https://dev.mysql.com/downloads/repo/yum/,选择对应linux版本,此处下载最新版

 

点击“No thanks, just start my download.”,进行下载

 

 

 将下载地址复制,得到rpm包的地址,若链接地址不显示,则选择复制链接地址

 

二、下载和安装mysql源,wget 加上刚刚复制的地址

 

    wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

 

 

如果显示wget未找到命令,则需要先安装wget:

yum -y install wget

然后再次执行上面命令

 

安装mysql源 localinstall 加上自己的安装版本

yum -y localinstall mysql80-community-release-el8-1.noarch.rpm

 

三、在线安装Mys

 

  yum -y install mysql-community-server,下载的东西比较多要稍微等会;

 

四、启动mysql

  systemctl start mysqld

 

五、设置开机启动

 

systemctl enable mysqld

systemctl daemon-reload

 

六、通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码

 

 

 

 

 七、通过 mysql -uroot -p 进入数据库登陆界面,输入刚刚查到的密码,进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的

 

 

 若正常执行,则直接执行第八步,此处本地执行时,报错

(1). 输入初始密码,报1045错误

 

错误原因:root用户没有localhost登录的权限

 

 

解决方式:

修改 /etc/my.cnf数据库配置文件,在[mysqld]选项中添加:skip-grant-tables   

重启mysql :service mysqld restart

使用安全模式登录mysql数据库:mysql –u root –p (输入密码直接按回车,登录成功)。

 

 

 

八、通过 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';命令来修改密码,执行刷新命令flush privileges;

通过 exit; 命令退出 MySQL,然后通过新密码(root)再次登陆

 

注意修改密码语句,5.7以上版本适用

若修改了my.cn文件,修改密码之后需要将my.cn还原,删除之前添加的skip-grant-tables 

若正常执行,则直接执行第九步,此处本地执行时,报错

 

 

 

(1). 修改密码,报1819错误

错误原因:MySQL对设置密码进行了默认的限制,必须符合长度,且必须含有数字,小写或大写字母,特殊字符

解决方式:

修改密码规则(未成功)

制定符合规则的密码格式,我这里直接使用了系统生成的初始密码

 

 

 在退出之前,执行刷新flush privileges;

 

 

 

九、 通过以下命令,进行远程访问的授权

create user 'root'@'%' identified with mysql_native_password by '你的密码';

grant all privileges on *.* to 'root'@'%' with grant option;

flush privileges;

 

 

 十、输入exit退出,打开防火墙开放3306端口

如果没有开启防火墙

  1. 执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示FirewallD is not running,如下图所示。

    centos出现“FirewallD is not running”怎么办
  2. 通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启。

    centos出现“FirewallD is not running”怎么办
  3. 通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。

    centos出现“FirewallD is not running”怎么办
  4. 再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了。

    centos出现“FirewallD is not running”怎么办
  5. 如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能。

    centos出现“FirewallD is not running”怎么办
  6. 再次执行执行firewall-cmd --permanent --zone=public --add-port=3306/tcp,提示success,表示设置成功,这样就可以继续后面的设置了。

    centos出现“FirewallD is not running”怎么办
  7. 重启防火墙firewall-cmd --reload

    

 

        8. 查看已经开放的端口: firewall-cmd --list-ports

    

 

 如果防火墙已开启,直接执行firewall-cmd --permanent --zone=public --add-port=3306/tcp

 

十一、 配置默认编码为UTF-8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

character_set_server=utf8

init_connect='SET NAMES utf8'

 

 

 十二. 编辑保存完重启mysql服务: systemctl restart mysqld

 

十三、 查看下编码:mysql> show variables like '%character%';

 

 

 十四、如果是使用阿里云服务,需要在安全规则组打开3306端口:

管理实例--->安全组规则

 

十五、最后,使用工具即可链接成功:

 

posted @ 2020-09-29 18:14  青春的西瓜  阅读(302)  评论(0编辑  收藏  举报