After you install a new MySQL server yourself, you need to specify a directory for the root user of MySQL (default no password), otherwise if you forget this, you will have your MySQL in a very insecure state (at least for a period of time).
On Unix (Linux), after installing MySQL in accordance with the manual instructions, you must run the mysql_install_db script to build the MySQL database and initial permissions that contain the authorization table. On Windows, run the Setup program in the distribution to initialize the data directory and the MySQL database. Assume that the server is also running.
When you first install MySQL on a machine, the authorization table in the MySQL database is initialized like this:
You can connect as root from the local host (localhost) without specifying a password. The root user has all the permissions (including administrative privileges) and can do anything. (By the way, MySQL Superuser and Unix superuser have the same name, they have nothing to do with each other.) )
Anonymous access is granted to a database in which the user can start with a local connection named Test and any name Test_. Anonymous users can do anything with the database, but without administrative privileges.
A multiple-server connection from a local host is allowed, regardless of whether the connected user is using a localhost hostname or a real host name. Such as:
% mysql-h localhost test
% mysql-h pit.snake.net Test
The fact that you're connecting to MySQL with root or not even specifying a password means that the initial installation is unsafe, so the first thing you should do as an administrator is to set the root password, and then depending on how you set the password, you can also tell the server to overload the authorization table because it knows the change. (When the server starts, it overloads the table into memory and may not know that you have modified them.) )
For MySQL 3.22 and above, you can set the password with mysqladmin:
% mysqladmin-u root password yourpassword
For any version of MySQL, you can use the MySQL program and directly modify the user authorization form in the MySQL database:
% mysql-u root MySQL
Mysql>update user SET Password=password ("YourPassword") WHERE user= "root";
If you have the old version of MySQL, use MySQL and update.
After you have set up your password, check to see if you need to tell the server to overload the authorization table by running the following command:
% mysqladmin-u Root Status
If the server still lets you connect to the server with root without specifying a password, overload the authorization table:
% mysqladmin-u Root Reload
After you set the password for root (and if you need to overload the authorization table), you will need to specify the password at any time when you connect to the server as root.
Note : Please pay attention to the triple programming Tutorials section for more wonderful articles .