ubuntu14.04安装mysql5.7.19

因工作需要,部署在Ubuntu14.04系统上的应用对应的数据库需要升级,目前无法从源获取最新的mysql,现在最新的为5.7.19,安装这些最新的mysql以及遇到各种各样的问题,搞了好久才搞定,以下是手动安装过程,与大家分享,遇到一些问题,记录如下:

  1. 到mysql下载tar包,根据选项选择相对应的版本,博主安装的系统为32位的,64位的应该同理。下载地址:https://dev.mysql.com/downloads/mysql/。当然也可以使用wget命令获取;
  2. 获取到的安装包拷贝到/etc/mysql/;
  3. 使用命令tar -zxvf 文件名 进行解压;
  4. 执行命令:sudo apt-get updatesudo apt-get upgrade;
  5. 安装libaio1 执行命令:apt-get install libaio1;



















  6. 以下是所有mysql解压的包

  7. 执行安装命令:
    sudo dpkg -i mysql-common_5.7.19-1ubuntu14.04_i386.deb
    sudo dpkg-preconfigure mysql-community-server_5.7.19-1ubuntu14.04_i386.deb 此步需要输入数据的root密码

    sudo dpkg -i libmysqlclient20_5.7.19-1ubuntu14.04_i386.deb
    sudo dpkg -i libmysqlclient-dev_5.7.19-1ubuntu14.04_i386.deb
    sudo dpkg -i libmysqld-dev_5.7.19-1ubuntu14.04_i386.deb

    sudo dpkg -i mysql-community-client_5.7.19-1ubuntu14.04_i386.deb
    sudo dpkg -i mysql-client_5.7.19-1ubuntu14.04_i386.deb

    sudo apt-get install libmecab2
    此步为了安装依赖包 libmecab2

    sudo dpkg -i mysql-server_5.7.19-1ubuntu14.04_i386.deb
    sudo dpkg -i mysql-community-source_5.7.19-1ubuntu14.04_i386.deb
    sudo dpkg -i mysql-community-test_5.7.19-1ubuntu14.04_i386.deb
    sudo dpkg -i mysql-testsuite_5.7.19-1ubuntu14.04_i386.deb

    中途如果报了错,那肯定是依赖不对,安装包少了依赖,sudo apt-get install 包名  安装相应的依赖即可。
  8. 安装完成。查看mysql安装的路径whereis mysql 我的路径是在/etc/mysql/
  9. 查看密码(不要编辑,之前我动了,找不回来,mysql进不去只有卸载了再安装)


    上面user后面的值就是root用户名,password后面的值就是这个root用户的默认密码,

    我们使用上面的root用户名和密码来进入mysql。


  10. 执行命令进入mysql:mysql -u debian-sys-maint -p 然后输入密码(密码就是刚才看到的)

  11. 然后再更改root默认用户名和密码

    成功之后,再使用更改后的root用户名和密码进入mysql

    mysql -uroot -p

    这里的root就是我更改后的root用户名,我直接使用的root,当然也是可以更改成自己喜欢的名称,

这样就大功告成了。如果登录不起,更改密码失败,请参考下边过程:

$ mysql -uroot -p

Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
 
步骤一:

把mysql停止。

$ sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
步骤二:

启动mysqld_safe。

$ sudo mysqld_safe --skip-grant-tables &
[1] 28860

(如果遇到错误mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.则执行下面命令后再次启动mysqld_safe:

sudo mkdir -p /var/run/mysqld

sudo chown mysql:mysql /var/run/mysqld


步骤三:

进入mysql,执行两条命令:

$ mysql -u root

mysql> UPDATE mysql.user SET authentication_string = PASSWORD('NewPassword') , password_expired = 'N' WHERE User = 'root' AND Host = 'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 1


mysql> update user set plugin="mysql_native_password";
Query OK, 1 row affected (0.00 sec)
Rows matched: 3  Changed: 1  Warnings: 0


注意Mysql 5.7版本要修改的字段为authentication_string,而不是Password。另外,plugin字段的值要置成"mysql_native_password"。步骤四:

退出mysql

mysql> exit
Bye

步骤五:

停止Mysql

$ sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service

$ sudo kill -9 $(pgrep mysql)步骤六:

再次启动mysql

$ sudo /etc/init.d/mysql start
[ ok ] Starting mysql (via systemctl): mysql.service.

再次用密码可以登录。

$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1893
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

如果始终登录不起,可以执行步骤一和步骤二,再执行mysql -u root。具体什么原因我还没搞明白,希望大家不吝赐教。

猜你喜欢

转载自blog.csdn.net/songanshu/article/details/78259496
今日推荐