Ubuntu18.04安装mysql5.7方法和注意事项

 

1. 卸载、删除mysql

想要重新安装mysql的执行下边语句。

 sudo apt-get autoremove --purge mysql-server-5.0
 sudo apt-get remove mysql-server
 sudo apt-get autoremove mysql-server
 sudo apt-get remove mysql-common (非常重要)

清理残留数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

2. 安装 mysql

sudo apt-get install mysql-server
sudo apt-get install mysql-client

检查Mysql是否正在运行

sudo netstat -tap | grep mysql

当您运行该命令时,您可以看到类似下面的行:

root@ubuntu:~# sudo netstat -tap | grep mysql
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN   
870/mysqld 

如果服务器不能正常运行,您可以通过下列命令启动它:

sudo /etc/init.d/mysql restart

3.Ubuntu18.04安装mysql5.7未提示输入密码,安装后修改mysql密码默认密码

mysql默认密码为空

但是使用mysql -uroot -p 命令连接mysql时,报错

ERROR 1045 (28000): Access denied for user 'root'@'localhost' 

此时修改root的默认密码即可

(1).进入到etc/mysql 目录下,查看debian.cnf文件

(2).找到用户名,密码 ,使用此账号登录mysql

这个根据个人电脑的默认密码,下边是小编的:

用户名:debian-sys-maint

密码:xedvSNKdLavjuEWV

登录:mysql -udebian-sys-maint -pxedvSNKdLavjuEWV

(3)修改root用户的的密码

这里是关键点,由于mysql5.7没有password字段,密码存储在authentication_string字段中,password()方法还能用

在mysql中执行下面语句修改密码

show databases;
use mysql;
update user set authentication_string=PASSWORD("自定义密码") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;

(4)修改完密码,需要重启mysql

/etc/init.d/mysql restart;

 

(5)再次登录
mysql -u root -p

密码:

就ok了

4.开启MySQL远程访问权限 允许远程连接

(1).登陆mysql数据库    

   mysql -u root -p

  查看user表

mysql> use mysql;
Database changed
mysql> select Host,User,authentication_string from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)

  可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

   有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

(2)实现远程连接(授权法)

 将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。   
   update user set host = ’%’ where user = ’root’;

   将权限改为ALL PRIVILEGES

use mysql;

grant all privileges  on *.* to root@'%' identified by "需要设置的密码";

 flush privileges;

select Host,User,authentication_string from user;

 

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select Host,User,authentication_string from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

(3)实现远程连接(改表法)

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mysql.这个是直接将原有的root账户的Host设置为允许任何ip登录,上边两种方法也可以固定ip,将%分号改为你需要的Ip

 

详解Ubuntu Server下启动/停止/重启MySQL数据库的三种方式(ubuntu 18.04)

启动mysql:
方式一:sudo /etc/init.d/mysql start 
方式二:sudo service mysql start

停止mysql:
方式一:sudo /etc/init.d/mysql stop 
方式二:sudo service mysql stop

重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo service mysql restart

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值