一、安装

sudo apt-get install mysql-server  # 安装mysql服务端
sudo apt-get install mysql-client  # 安装mysql命令行客户端

sudo apt-get install libmysqlclient # 可能还需要安装这个

如果提示需要安装依赖树,则需要

apt-get -f install  #安装依赖树

二、基本命令

sudo service mysql start    # 启动mysql服务
sudo service mysql stop     # 停止mysql服务
sudo service mysql restart  # 重启mysql服务

 三、连接mysql服务

mysql [-h服务器地址] -u 用户名 -p 密码    # 如果是本地, 服务器地址默认127.0.0.1 可省略不写

 四、配置文件

#  配置文件目录 /etc/mysql/mysql.conf.d      打开mysql.cnf

 主要配置文件如下

bind -address    # 表示服务器绑定的ip, 默认为127.0.0.1

port             # 表示端口, 默认为3306

datadir          # 表示数据库目录, 默认为/var/lib/mysql

general_log_file # 表示普通日志, 默认为/var/log/mysql/mysql.log

log_error        # 表示错误日志, 默认为/var/log/mysql/error.log

 五、默认账户登陆

如果运行报错,不能启动Mysql,先检查mysql是否安装成功

sudo netstat -tap | grep mysql   # 如果没有安装net 根据提示安装即可 看到listen状态即成功

 然后使用默认用户登陆

# 找到 cd/etc/mysql 目录 然后终端运行   

sudo vi debian.cnf #看到如下所示

[client]
host = 
user =            #这就是默认账号的用户名
password =        #这就是默认账号的密码
socket = 


which mysql  # 如果找不到mysql目录可在终端运行查找

 

#使用默认账户密码 终端输入

mysql -u 默认用户名 -p
enter password:         #输入默认账户的密码

 六、修改用户名和密码

此时已经连接上mysql服务了

mysql> update mysql.user set authentication_string=password('重置的密码') where user='root';

mysql> flush privileges;  #刷新权限

mysql> quit;              #退出客户端
#终端运行

service mysql restart   #重启mysql

mysql -uroot -p 

#如果遇到报错:ERROR 1698 (28000):Access denied for user 'root'@'localhost'

跳到第七步

 七、处理设置的账号密码登陆报错

产生这个报错的问题原因是ubuntu默认安装的mysql使用的是UNIX auth_socket plugin,

这意味着mysql用户名必须和登陆当前ubuntu系统的用户名一样才能登陆,

查看一下root用户使用的是什么类型的, 先使用第五步的默认账户密码登陆mysql,然后

mysql> USE mysql;

mysql> SELECT User, Host, plugin FROM mysql.user; 

+------------------+-----------------------+
|  User            | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

 显然root账户使用的是auth_socket, 我们需要修改root账户使用mysql_native_password即可

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;


#最后用自己设置的账户密码登陆即可