这是第一个问题
先下载MySQL,我的环境是ubuntu,
执行:
- sudo apt-get install mysql-server 安装服务器
- sudo apt-get install mysql-client 安装客户端
之后,如果要连接到本机,需要修改MySQL参数;
执行命令:
- cd /etc/mysql/mysql.conf.d/mysqld.cnf
- vim mysqld.cnf
如果没有vim需要下载
进入文件之后
这个地方原本是127.0.0.1,介意改成0000,允许所有设备连接。按a键可以进行修改,改好之后按esc,在输入 :wq 就可以了,注意要在root用户下;
然后初始化一下,执行命令mysqld --initialize
但是会报错,进行解决,具体为什么解决,看结尾。
执行命令 ls -l /var/lib 发现没有mysql文件夹,那就创建一个,执行 mkdir /var/lib/mysql/ 再次 ls -l看一下发现创建好之后,他是在root用户下的。
需要改成mysql下。执行:
chmod 770 /var/lib/mysql* 先改一下读写权限,可以查查770代表的意思,7的二进制是111,
然后执行命令 cd /var/lib/ 进行修改用户
执行
- chown mysql.mysql mysql
在看一下 ls -l 看一下
已经改好了,但是下边还有一个root也要改,执行
- chown mysql.mysql mysql-upgrade
在看一下 ls -l | grep mysql
都改好之后,执行
- cd
- mysqld --initialize
就没有报错了,启动 service mysql restart 就完成了
下一个问题:
完成上一个问题之后,执行这个命令来设置初始密码
- mysqladmin -u root password "你的密码"
但是会出现这个错误
但是在安装过程中并没让设置密码,就是进不去MySQL
解决办法:
执行
- sudo vim /etc/mysql.conf.d/mysqld.cnf
1 [mysqld]
2 #
3 # * Basic Settings
4 #
5 user = mysql
6 pid-file = /var/run/mysqld/mysqld.pid
7 socket = /var/run/mysqld/mysqld.sock
8 port = 3306
9 basedir = /usr
10 datadir = /var/lib/mysql
11 tmpdir = /tmp
12 lc-messages-dir = /usr/share/mysql
13 skip-external-locking
14 character-set-server=utf8
15 collation-server=utf8_general_ci
16 skip-grant-tables
添加16行代码,实现不不用密码进入MySQL。怎么修改在上边说过了。
保存:wq,之后输入:service mysql restart,重新启动mysql。
输入:mysql -u root -p 输入密码之后
分别输入:
- 1 use mysql
- 2 update user set authentication_string=password("你的密码") where user="root"
- 3 flush privileges
然后输入 \q 退出MySQL,进入刚刚修改过的配置文件,把刚刚添加的那句注释掉,保存退出,
然会输入
- mysql -u root -p
就可以了,如果还是不行可以找我。
很多的文件其实都是这样,只是其他需要修改的文件没有报错而已,这是很正常的,提示权限不足是因为他没有识别到root用户,因为你没有初始化,也还有为MySQL设置root密码,所以会失败。将用户改为mysql自己就没事了。