Developer on Alibaba Coud: Build your first app with APIs, SDKs, and tutorials on the Alibaba Cloud. Read more ＞
How can I run MySQLbrMySQL server as a general user? mysqld can be started and run by any user. To change mysqld to user_name, a Unix user, you must do the following: if it is running, stop the server (using mysqladminshutdown ). Br change the Database Directory and file so that user_name has the permission to read and write files (you may need to run MySQL as a general user
MySQL server mysqld can be started and run by any user. To change mysqld to user_name, a Unix user, you must do the following:
If it is running, stop the server (use mysqladmin shutdown ).
Change the Database Directory and file so that user_name has the permission to read and write files (you may need to be a Unix root user ):
Shell> chown-R user_name/path/to/mysql/datadir
If the directory or file in the MySQL data directory is a symbolic link, you will also need to follow those links and change the directories and files they direct. Chown-R cannot follow the symbolic link.
Start the server as user_name, or if you are using MySQL 3.22 or later, start mysqld as a Unix root user and use the -- user = user_name option, mysqld will switch to run as a Unix user_name user before accepting any connection.
If you use the mysql. server script to start mysqld when the system is restarted, you should edit mysql. server and run mysqld with user user_name using su, or call mysqld using the -- user option. (It is necessary not to change safe_mysqld .)
Now, your mysqld process should be running properly as the Unix user_name user. Although one thing remains unchanged: the content of the permission table. By default (after the permission table installed by the script mysql_install_db is run), the MySQL User root is the only user with the permission to access the mysql database or create or discard the database. Unless you change those permissions, they will remain. When you log on as a Unix user rather than the root user, this should not prevent you from accessing MySQL as the MySQL root user; you only need to specify the-u root option for the client program.
Note that-u root is provided on the command line to access MySQL as root. it does not matter if MySQL is run as Unix root or other Unix users. The access permissions and user names of MySQL are completely separated from those of Unix users. The only thing related to the Unix user name is that if you do not provide a-u option when calling a client program, the customer will try to use your Unix login name as your MySQL User name for connection.
If your Unix machine is not secure, you should at least put a password for the MySQL root user in the access table. Otherwise, any user with an account on that machine can run mysql-u root db_name and do whatever he prefers.
This article is an English version of an article which is originally in the Chinese language on aliyun.com and is provided for information purposes only. This website makes no representation or warranty of any kind, either expressed or implied, as to the accuracy, completeness ownership or
reliability of the article or any translations thereof. If you have any concerns or complaints relating to the article, please send an email, providing a detailed description of the concern or
complaint, to email@example.com. A staff member will contact you within 5 working days. Once verified, infringing content will be removed immediately.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
and provide relevant evidence. A staff member will contact you within 5 working days.