Ubuntu 16.04 TLS 安装 MySQL 教程以及中途可能会遇到的坑
Sep 2, 2017
Ubuntu 16.04 TLS 安装 MySQL 教程以及中途可能会遇到的坑
命令安装,会提示输入
mysql
的root
账户的密码1234567➜ ~ sudo apt-get install mysql-server➜ ~ sudo apt-get install mysql-client➜ ~ sudo apt-get install libmysqlclient-dev# 中途遇到问题,通常可以通过下面的命令解决,如果还是有其他问题,请跳到最后看一些常见的问题解决➜ ~ sudo apt-get update➜ ~ sudo apt-get install -f如果上面的命令都正确执行,则执行下面的命令确认是否成功(结果如果和下面的类似,就代表成功了)
12➜ ~ sudo netstat -tap | grep mysqltcp6 0 0 [::]:mysql [::]:* LISTEN 7510/mysqld设置远程访问(非必要)
第一步,修改IP限制:
12345# 执行下面的一条命令找到 bind-address = 127.0.0.1 并注释,修改为 # bind-address = 127.0.0.1➜ ~ vim /etc/mysql/my.cnf 或 sudo gedit /etc/mysql/my.cnf# 修改完成后重启 mysql➜ ~ sudo /etc/init.d/mysql restart第二步,用户授权:
123456789101112➜ ~ mysql -uroot -p123456Welcome to the MySQL monitor...# *.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号# %:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库# 123456:表示分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码mysql> grant all on *.* to root@'%' identified by '123456' with grand option;# 刷新权限信息,也即是让我们所作的设置马上生效mysql> flush privileges;# 退出mysql> exit;常见问题集锦:
- 123456789101112131415# 安装出现类似下面的情况...error processing mysql-server-5.7 (--configrue): 子进程 已安装 post-installation 脚本然而 mysql-server-5.7 尚未配置 ......E: Sub-process /usr/bin/dpkg returned an error code (1)# 尝试执行下面的命令➜ ~ sudo rm /var/lib/mysql/ -R➜ ~ sudo rm /etc/mysql/ -R➜ ~ sudo apt-get autoremove mysql* --purge➜ ~ sudo apt-get remove apparmor➜ ~ sudo apt-get autoclean# 中途如果没有其他错误,则可以回到最上面的安装教程
- 12345678# 卸载出现类似下面的情况...error processing mysql-server-5.7 (--purge): 子进程 已安装 pre-removal 脚本然而 mysql-server-5.7 尚未配置 ......E: Sub-process /usr/bin/dpkg returned an error code (1)# 请确认错误信息中是否包含 `missing LSB tags and overrides` 这类警告或错误,如果有,通常是自定义的开机启动脚本书写不规范导致的,需要找到对应的启动脚本,进行修改,下面以 `redis` 开启启动为例,没有填写 `BEGIN INIT INFO` - `END INIT INFO` 这一段,也是会出现无法彻底卸载或安装MySQL的原因之一...1234567891011121314151617181920#!/bin/sh# chkconfig: 2345 90 10# description: Redis is a persistent key-value database## Simple Redis init.d script conceived to work on Linux systems# as it does use of the /proc filesystem.### BEGIN INIT INFO# Provides: redis6379# Required-Start: $local_fs $network# Required-Stop: $local_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: redis6379# Description: penavico redis 6379### END INIT INFOREDISPORT=6379EXEC=/usr/local/bin/redis-serverCLIEXEC=/usr/local/bin/redis-cli...