MySQL5.7在Ubuntu上的安装、配置与使用

环境:

Ubuntu 1804 64位

待安装:MySQL5.7版本

一、安装

1、下载mysql-apt的配置包,并安装

1
2
wget https: / / dev.mysql.com / get / mysql - apt - config_0. 8.1 - 1_all .deb
sudo dpkg - i mysql - apt - config_0. 8.1 - 1_all .deb

或者下载社区版本mysql5.7
    https://www.cnblogs.com/metianzing/p/9050204.html

在安装的过程中,会要求选择mysql版本,选择mysql5.7版本后,点击“OK”。

2、更新apt-get索引

1
sudo apt - get update

3、安装数据库,在安装过程中,会自动卸载已经安装的老版本数据

1
sudo apt - get install mysql - server

4、重启mysql,并检测安装及配置

1
2
sudo service mysql restart
mysql - u root - p

  默认密码是sa

那么你的mysql在哪里

6、命令

  #进入MySQL: mysql -u root -p

    #启动: sudo service mysql start

    #重启:sudo  service mysql restart 

  #关闭: sudo service mysql stop

二、配置

之前我遇到了character_set_server/character_set_database非utf-8的情况。导致数据写入出错。

修改MySQL配置文件(/et/mysql/my.cnf)如下:

1
2
3
4
5
6
7
8
[client]
default_character_set = utf8
 
[mysql]
default_character_set = utf8
 
[mysqld]
character_set_server = utf8

禁用mysql密码

plugin-load=validate_password.sovalidate-password=OFF

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'  (修改密码)
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES(开启远程访问)

刷新
FLUSH PRIVILEGES
(貌似针对红帽系列的)

Ubuntu 这是第一种方法

(1)打开/etc/mysql/debian.cnf文件,在这个文件中有系统默认给我们分配的用户名和密码,通过这个密码就可以直接对mysql进行操作了。

(2)当进入mysql之后修改mysql的密码:这个方法比较好,具体的操作如下用命令:set password for 'root'@'localhost' = password('yourpass');当修改之后就可应正常对mysql进行操作了。

第二种方法

1 安全模式登入MySQL

 

复制代码
1 $ sudo /etc/init.d/mysql stop
2 
3 [sudo] hee 的密码:
4 [ ok ] Stopping mysql (via systemctl): mysql.service.
5  
6 $ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &
复制代码

 

  输入第一行终止MySQL运行,成功,会提示下面两行;

  输入第四行,成功,没有任何报错则可以另外打开一个终端窗口进行下一步操作;

        但是一般会报错,比如提示mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists

  因此我们尝试输入以下代码

1 $ sudo mkdir -p /var/run/mysqld
2  
3 $ sudo chown mysql:mysql /var/run/mysqld

     最后再次输入:

1 sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

  到了这里不在提示错误,可以打开另一个终端端口了,尝试无密码登入MySQL。

1 mysql -u root

   到这里应该可以进入MySQL了,继续操作

复制代码
1 > use mysql;
2  
3 > update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码
4 > update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行
5  
6 > flush privileges; #更新所有操作权限
7 > quit;
复制代码

 2 使用修改的密码登入MySQL

  经过上面一系列的操作,应该可以正常使用你更改的密码登入了。

 

1 > sudo /etc/init.d/mysql stop
2 > sudo /etc/init.d/mysql start # reset mysql
3  
4 > mysql -u root -p

 

   第一行先终止数据库运行,第二行重启数据库服务,第三行root用户登入。

   OK 修改成功!

3    首先,修改mysql配置文:

vim /etc/mysql/mysql.conf.d/mysqld.cnf
  • 1

在skip-external-locking的下一行添加skip-grant-tables,跳过密码校验

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
skip-grant-tables
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

然后重启mysql后,我们直接无密码登陆:

sudo service mysql restart
mysql
  • 1
  • 2

登录后,我们来修改密码

mysql>use mysql;
mysql>update user set authentication_string=password('新密码') where user='root';
  • 1
  • 2

注意:可能遇到这样的问题,这个是你的密码强度不够,请修改强度,举例:@ROOT_root_123
这里写图片描述

到这里还没彻底弄好,千万不要退出,这里只是修改而已,还没保存
继续输入以下命令:

mysql> flush privileges;
mysql> quit;
  • 1
  • 2

好了,大功告成,把配置文件修改回去,注释掉skip-grant-tables,然后重启,

sudo service mysql restart
  • 1

最后输入你的新密码登录。


3




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值