Difference between revisions of "OPS235 MySQL"

From CDOT Wiki
Jump to: navigation, search
(Restart the MySQL server with --skip-grant-tables)
(Restart MySQL server normally)
 
(3 intermediate revisions by the same user not shown)
Line 53: Line 53:
 
  120410 01:36:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
 
  120410 01:36:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
  
 +
== Reset MySQL server root password ==
 
Open another terminal windows and run the following commands to reset the MySQL server's root password:
 
Open another terminal windows and run the following commands to reset the MySQL server's root password:
  
Line 78: Line 79:
 
  mysql> exit;
 
  mysql> exit;
  
== Reset root password ==
+
== Kill the mysqld_safe process ==
 +
* Use the command "ps -ef | grep mysqld_safe" to locate the process ID.
 +
* Use the command "kill process-id" to kill the mysqld_safe process
  
 
== Restart MySQL server normally ==
 
== Restart MySQL server normally ==
  
 
* Run the following command:
 
* Run the following command:
  # service mysqld restart
+
  # service mysqld start

Latest revision as of 00:49, 10 April 2012

Start up MySQL Server for the first time

  • For Fedora 14 and older using SystemV init:
You should see the following message when you use the command
service mysqld start
to start up MySQL server for the first time:
 Initializing MySQL database:  Installing MySQL system tables...
 OK
 Filling help tables...
 OK

 To start mysqld at boot time you have to copy
 support-files/mysql.server to the right place for your system

 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
 To do so, start the server, then issue the following commands:

 /usr/bin/mysqladmin -u root password 'new-password'
 /usr/bin/mysqladmin -u root -h fedora1 password 'new-password'

 Alternatively you can run:
 /usr/bin/mysql_secure_installation

 which will also give you the option of removing the test
 databases and anonymous user created by default.  This is
 strongly recommended for production servers.

 See the manual for more instructions.

 You can start the MySQL daemon with:
 cd /usr ; /usr/bin/mysqld_safe &

 You can test the MySQL daemon with mysql-test-run.pl
 cd /usr/mysql-test ; perl mysql-test-run.pl

 Please report any problems with the /usr/bin/mysqlbug script!

                                                            [  OK  ]
 Starting mysqld:                                           [  OK  ]
  • If you are using Fedora 16 or later, MySQL will be started using "systemctl" and no message will be displayed when MySQL server starts up successfully.

Reset MySQL server's root password

As you can see from the previous section, MySQL server default setup does not has password for the root user. You can connect to MySQL server as root on the local machine without providing password. However, if your have set the password for root and later forget the password, the following show you the steps to reset the root password on a Fedora system (tested on Fedora 13):

Stop the MySQL Server

# service mysqld stop

Restart the MySQL server with --skip-grant-tables

Run the following command as root:

[root@f14host ~]# /usr/bin/mysqld_safe --skip-grant-tables
120410 01:36:35 mysqld_safe Logging to '/var/log/mysqld.log'.
120410 01:36:35 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

Reset MySQL server root password

Open another terminal windows and run the following commands to reset the MySQL server's root password:

[root@f14host ~]# mysql --user=root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.55 Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> update user set Password=PASSWORD('newpassword') where user='root';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit;

Kill the mysqld_safe process

  • Use the command "ps -ef | grep mysqld_safe" to locate the process ID.
  • Use the command "kill process-id" to kill the mysqld_safe process

Restart MySQL server normally

  • Run the following command:
# service mysqld start