OPS235 MySQL

From CDOT Wiki
Jump to: navigation, search

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