Ubuntu版本:18.04.1 LTS
MySQL版本:5.7.25
MySQL的安装和配置都比较简单。只是第一次装5.7版本的MySQL的时候,忽略了一个配置文件的权限问题,耽误了一些功夫,记下来给自己做个提醒,也是为了给其他入门的小伙伴方便,毕竟网上的文章很多都是复制粘贴,我索性花一点时间简单整理一下。
安装命令简单明了,其实就下面几句足以:
sudo apt-get update
sudo apt-get install mysql-client
sudo apt-get install mysql-server
安装完成之后,这个版本的MySQL会自动生成一个用户名和对应的密码。这个文件在Ubuntu 18.04中为
/etc/mysql/debian.cnf
因为是以root身份安装的软件,所以如果你以非root身份打开该文件,则会显示空文档,这是文件权限的问题。需要用root身份才能看到文件内容,我最开始忽略了文件权限,在这里耗费了点时间
其中user就是当前可用的一个用户名,password就是与其对应的用户密码。
首先运行mysql服务,然后使用上述user和password进行登录
/etc/init.d/mysql start
mysql -u debian-sys-maint -p
完成登录之后,使用下面的两条命令可以查看当前的信息(这几个信息是我们后面要更改的):
USE mysql;
SELECT User, authentication_string, plugin FROM user;
然后对更改表中信息:
UPDATE user
SET authentication_string=password('YourPassword'),
plugin='mysql_native_password'
where User='root';
flush privileges;
quit;
然后重启mysql,就可以使用root账户和你刚刚设定的密码“YourPassword”进行登录了。
/etc/init.d/mysql restart
根据文件/etc/mysql/mysql.conf.d/mysqld.cnf中的提示,我们还可以在当前用户根目录~下创建一个隐藏文件.my.cnf:
# file: ~/.my.cnf --- 用于懒人登录,预先设置用户登录名以及密码
[client]
# * Basic Settings
user = 'root'
password = 'YourPassword'
socket = /var/run/mysqld/mysqld.sock
port = 3306
这里设置的内容中user和password是你刚刚设置的,其余的三项设置参考的是文件/etc/mysql/mysql.conf.d/mysqld.cnf。
设置完毕之后,现在你就可以每次在命令行直接输入mysql完成数据库登录了,是不是方便很多了。
如果需要安装mysql的相关头文件和库文件(供C++使用),可以执行下面的安装命令
sudo apt-get install libmysqlclient-dev
然后在使用g++编译的时候需要添加编译选项:-lmysqlclient
如果找不到该库文件的话,那么可以在/usr/lib/mysql下创建一个软链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so /usr/lib/mysql/libmysqlclient.so