在Linux上安装MySQL

一、在ContOS6.5上安装MySQL

1.查看yum上提供的mysql数据库可下载的版本

yum list | grep mysql

2.安装MySQL及其他所需组件

yum install -y mysql-server mysql mysql-devel 

3.启动MySQL服务(首次启动要设置密码,否则无法登录)

service mysqld start

4.设置用户密码

cd /usr/bin
mysqladmin -u root password ‘新密码’

5.设置开机启动mysql服务

查看mysql的状态

chkconfig --list | grep mysqld  

开机自启

chkconfig mysqld on  

重启mysql服务

service mysqld restart

6.登录mysql

mysql -u root -p

回车后输入密码,如果密码正确就会进入mysql  

7.查看版本、初始库和用户

select version();
show databases;
use mysql;
select host,user from user;

8.设置MySQL允许远程连接

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
flush PRIVILEGES;

9.查看是否设置成功

select host,user from user;

 

 10.设置Linux防火墙端口

如果关闭了防火墙就不用进行10-11步骤。

vi /etc/sysconfig/iptable

添加如下内容

 11.重启防火墙

service  iptables  restart

12.测试

使用navicat或sqlyog进行连接,主机地址就是linux的ip地址,密码是在授权时设置的密码,这里是1234。ip地址使用ifconfig可以查询。

二、在Linux安装mysql8

1)在官网下载安装包mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz,上传至服务器

2)解压并重命名

xz -d mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql

3)创建用户组及用户和密码

进入mysql安装目录

cd /usr/local/mysql
groupadd mysql
useradd -g mysql mysql

4)授权用户

chown -R mysql.mysql /usr/local/mysql

5)编辑my.cnf文件

vim /etc/my.cnf

将以下内容复制进去

[mysqld]
user=root
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
max_connections=200
max_connect_errors=10
character-set-server=utf8
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
group_concat_max_len=102400
[mysql]
default-character-set=utf8
[client]
port=3306
default-character-set=utf8

然后保存退出

6)初始化基础信息,生成初始化密码

 cd bin 
./mysqld --initialize 

此时会生成一个临时密码,需要保存下来,便于后续改密码

7)添加mysqld服务到系统

cd .. cp -a ./support-files/mysql.server /etc/init.d/mysql 

8)授权以及添加服务

 chmod +x /etc/init.d/mysql chkconfig --add mysql

9)启动mysql

service mysql start

10)将mysql添加到命令服务 

ln -s /usr/local/mysql/bin/mysql /usr/bin

11)登录mysql 并修改密码

mysql -uroot -p 输入初始化的密码

更新密码 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; 
flush privileges;

11)更改root连接权限 

use mysql; 
update user set host='%' where user = 'root'; flush privileges;

退出mysql,就可以通过连接工具登录root账户进行远程连接了

三、阿里云安装mysql

1.安装mysql数据库

a)下载mysql源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

b)安装mysql源,若结尾出现complete!,则说明MySQL源安装完成

yum localinstall mysql57-community-release-el7-8.noarch.rpm

c)检测是否安装完成

yum repolist enabled | grep "mysql.*-community.*"

d)安装mysql,若结尾出现Complete!, 则MySQL安装完成 

yum install mysql-community-server

e)设置开启启动mysql服务

systemctl enable mysqld 

f)查看安装的mysql版本

rpm -aq | grep -i mysql

g)启动MySQL服务

systemctl restart mysqld

h)查看MySQL初始密码,这个密码是随机生成的

grep 'A temporary password' /var/log/mysqld.log

i)更改MySQL密码

mysqladmin -u root -p'旧密码' password '新密码'

这里更改密码出了问题,更改失败,这是因为密码太过简单的原因。有两个接解决方法:

方法一:把密码设置复杂点(这是最直接的方法)

方法二:关闭mysql密码强度验证(validate_password)

编辑配置文件

vim /etc/my.cnf 

增加这么一行 

validate_password=off

重启mysql服务

systemctl restart mysqld

j)设置mysql能够远程访问

登录进MySQL,给予root用户访问权限

GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

2.配置阿里云服务器

a)打开管理后台,打开创建的实例,点击右边更多

b)选择配置规则,对入方向进行配置

c)选择添加安全组规则,开启3306端口。授权对象选择0.0.0.0/0所有ip可访问

d)重启服务器

e)使用navicat或sqlyog进行连接,主机地址就是linux的ip地址,使用ifconfig可以查询ip

3.问题处理

如果本地可以使用,而远程无法使用,显示如下:

那么解决办法也如下:

第一步:在远程主机上,登录mysql,执行查询语句1:

select host, user, Password, grant_priv from user;

截图如下,会发现localhost和允许远程的密码不一致,所以需要再次修改密码,执行修改语句1:

update user set password=password('123456') where user='root'

执行完成后再次执行上面的查询语句1,发现密码一致了,然后重启服务器就可以进行远程访问了。

systemctl restart mysqld

 

posted @ 2019-09-02 15:50  钟小嘿  阅读(376)  评论(0编辑  收藏  举报