mysql> quit
Bye
这样密码就被重置为123456了,想修改成什么密码都可以。5.将MySQL的配置文件修改回来将刚才在[mysqld]的段中加上的skip-grant-tables删除保存并且退出vi。6.重新启动mysqld[root@bbs ~]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL... SUCCESS!
之后就可以开启服务,使用新密码来登陆mysql了。
7.如果不想修改配置文件,直接使用命令也可以:
先关闭mysql的所有进程方法一:#killall mysqld
方法二:#ps -aux |grep mysql //查看所有mysql进程
#kill pid //pid是mysql的进程号
然后输入如下命令
[root@bbs ~]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
后续操作同上边操作方法一样。进入“mysql>”命令模式后,所有命令不区分大小写。
在linux下修改存储路径
Linux mysql 更改数据存储路径,同样适合rpm安装的mysql如果不知道mysql的存储位置,可先登录数据库查看相关安装信息:mysql> show variables like '%dir%';
+-----------------------------------------------------+-----------------------------------------+
| Variable_name | Value |
+-----------------------------------------------------+-----------------------------------------+
| basedir | /usr/local/mysql |
| binlog_direct_non_transactional_updates | OFF |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
|datadir | /data/mysqldb/|
| ignore_db_dirs | |
| innodb_data_home_dir | |
| innodb_log_group_home_dir | ./ |
| innodb_max_dirty_pages_pct | 75 |
| innodb_max_dirty_pages_pct_lwm | 0 |
| innodb_undo_directory | . |
| lc_messages_dir | /usr/local/mysql/share/ |
| plugin_dir | /usr/local/mysql/lib/plugin/ |
| slave_load_tmpdir | /tmp |
| tmpdir | /tmp |
+----------------------------------------------------+------------------------------------------+从上面可知我们的数据是放在/data/mysqldb/,我的mysql的数据,是源码编译时指定到这里的,一定要查看自己的路径。关闭mysql数据库,开始修改存储路径:
[root@bbs ~]# service mysqld stop
Shutting down MySQL. SUCCESS!假设新的数据存储路径为/test/mysql/data1.更改新路径属组
chown mysql:mysql /test/mysql/data
2.将原数据全部拷贝到新路径
cp -a /data/mysqldb/* /test/mysql/data/
3.更改启动脚本中的配置 vim /etc/rc.d/init.d/mysqld
修改完毕。
重新启动
[root@bbs ~]# service mysqld start
Starting MySQL..... SUCCESS!
查看修改后的结果:mysql> show variables like '%dir%';
+-----------------------------------------------------+-----------------------------------------+
| Variable_name | Value |
+-----------------------------------------------------+-----------------------------------------+
| basedir | /usr/local/mysql |
| binlog_direct_non_transactional_updates | OFF |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
|datadir |/test/mysql/data/|
| ignore_db_dirs | |
| innodb_data_home_dir | |
| innodb_log_group_home_dir | ./ |
| innodb_max_dirty_pages_pct | 75 |
| innodb_max_dirty_pages_pct_lwm | 0 |
| innodb_undo_directory | . |
| lc_messages_dir | /usr/local/mysql/share/ |
| plugin_dir | /usr/local/mysql/lib/plugin/ |
| slave_load_tmpdir | /tmp |
| tmpdir | /tmp |
+-----------------------------------------------------+------------------------------------------+
修改成功,可以正常使用。
注意:
有时还需要对my.cnf配置文件进行修改,不然mysql会起不来的。/etc/init.d/mysqld与my.cnf修改与否,要看自己的环境,根据实际情况进行修改。
例如;在/etc/init.d/my.cnf中
[mysqld]
datadir=/var/lib/mysql
配置文件与我的启动脚本冲突,启动时会报错,虽然在启动文件里改过路径,但还是会有问题
[root@bbs ~]# service mysqld start
Starting MySQL......... ERROR! The server quit without updating PID file (/var/lib/mysql/bbs.test.pid).
这时候就必须修改才能正常启动。注意:以上命令直接复制粘贴,由于编码问题可能会无法执行,手工输入就可以正常执行了。