一、操作流程
//安装mysql
sudo apt-get install mysql-server
//确认是否启动成功,mysql节点处于LISTEN状态表示启动成功
sudo netstat -tap | grep mysql
//以root用户登陆进入mysql界面
sudo mysql -u root -p
//启动mysql服务器
service mysql start
//关闭mysql服务器
service mysql stop
//检查数据库运行状态
sudo systemctl status mysql
第一次进入mysql界面时会提示你输入密码,但此时我们还未设置密码,因此直接回车即可。
这里还有一个问题需要调整(中文乱码问题):
在mysql界面,输入:
show variables like "char%";
导致中文乱码的原因是character_set_server默认设置是latin1,这里只需要把编码方式改一下就可以了:
执行该命令:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在编辑界面插入如下代码:
之后退出vim,重启mysql:
mysql> exit;
sudo service mysql restart
再次执行上面的命令,可以看到:
之后我们需要初始化数据库:
初始化数据库的操作不再说明,按照它的提示做下去就可以,主要包括:
(1)安装密码验证插件
(2)设置密码
(3)是否删除mysql一开始设置的匿名账户,设置是否允许root管理员远程登陆数据库
(4)是否删除默认的测试数据库并删除该数据库的所有访问权限
(5)刷新授权列表,使初始化设定立即生效。
使用的命令是:
sudo mysql_secure_installation
配置数据库允许远程访问:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改bind-address以使其它地方可以连接进来。
输入如下命令看一下ubuntu主机的ip地址:
ifconfig
之后在navicat中建立连接,连接这个数据库:
但是这里报错了,这是因为mysql默认不允许非本机地址以外的root用户登陆访问数据库,因此还需要修改一下权限:
//进入linux下的mysql界面
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passqord' WITH GRANT OPTION;
执行如上命令,其中password部分是你需要自己设置的密码,之后执行:
flush privileges;
刷新权限后,navicat即可正常连接。
这里还有可能出现的问题是:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这是因为你在初始化数据库时安装了密码验证插件,并且你这次设置的密码不满足你之前设置的密码强度需求,解决办法是设置一个满足需求的密码,或者修改密码验证策略,比如将验证等级设为0:
mysql> set global validate_password_policy=0;
这里顺带提一下在navicat中新建数据库时的注意点:
如上,字符集和排序规则不要选其它的,否则可能出现中文乱码的情况。
二、报错处理
(1)
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?
这是因为在用apt-get安装应用时,上一次的安装未完成便被关闭,导致apt-get进程一直被占用,这时执行如下命令:
sudo rm /var/lib/dpkg/lock-frontend
若之后还出现如下错误:
E: 无法获得锁 /var/cache/apt/archives/lock - open (11: 资源暂时不可用)
E: 无法对目录 /var/cache/apt/archives/ 加锁
执行如下命令:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
(2)
在执行sudo netstat -tap | grep mysql
报错:
sudo: netstat:找不到命令
解决办法:
sudo apt-get install net-tools