要安装 MySQL,可以在终端提示符后运行下列命令:
sudo apt-get install mysql-server mysql-client #中途会让你输入一次root用户密码
sudo apt-get install php5-mysql #安装php5-mysql 是将php和mysql连接起来
一旦安装完成,MySQL 服务器应该自动启动。
sudo start mysql #手动的话这样启动
sudo stop mysql #手动停止
当你修改了配置文件後,你需要重启 mysqld 才能使这些修改生效。
要想检查 mysqld 进程是否已经开启,可以使用下面的命令:
pgrep mysqld
如果进程开启,这个命令将会返回该进程的 id。
ps -A|grep mysql
如果存在mysqld,mysqld_safe等进程的话,则会显示出来,如:
4460 pts/0 00:00:00 mysqld_safe
4583 pts/0 00:00:01 mysqld
登录MYSQL问题:
(1)mysql -u root -p
输入密码之后,错误提示如下:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),意思是root的密码不正确。
解决办法如下:
a.sudo mysqld_safe --user=root --skip-grant-tables --skip-networking &
输入命令之后,提示信息如下:
[1] 5166
root@jungsagacity:/home/jung# 120521 18:46:32 mysqld_safe Logging to syslog.
120521 18:46:32 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
如果提示信息为:
[2] 4928
root@jungsagacity:/home/jung# 120521 18:44:40 mysqld_safe Logging to syslog.
120521 18:44:40 mysqld_safe A mysqld process already exists
表示mysqld_safe进程存在,可以通过
ps -A|grep mysql 查看mysqld_safe进程ID
kill -9 -xxxx 终结ID为xxxx的进程
下面继续输入命令:
mysql -u root mysql 表示以root用户登录到mysql数据库当中
select * from user; 可以看到登记的用户名和密码等详细信息。此时会看到root 对应的密码是 123456.
实际上我们输入
mysql -u root -p
enter password: 123456
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
重新修改root密码:
update user set password=PASSWORD('123456') where user='root' and host='localhost';
flush privileges; 这一句话必须的输入,否则退出mysql客户端之后,依然登录不了。
(2)新建用户无法登录
以root用户身份登录到数据库mysql之后之后,可以新建一个本地的用户jun,退出客户端之后,以jun进行登录,出现错误信息
ERROR 1045 (28000): Access denied for user 'wujun'@'localhost' (using password: YES)
出现这个错误主要有以下亮点错误:
a.新建用户的时候,密码以字符串'xxxxxx'的形式输入,而不是以PASSWORD('xxxxxx')形式输入
正确的语句:
mysql> insert into user(host,user,password) values('local',jun,PASSWORD('xxxxxx'));
mysql> flush privileges;
b.正确的输入插入语句之后,但没有输入
mysql> flush privileges;