- CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm # rpm -ivh mysql-community-release-el7-5.noarch.rpm # yum install mysql-community-server
成功安装之后重启mysql服务
# service mysqld restart
初次安装mysql是root账户是没有密码的
设置密码的方法
# mysql -uroot mysql> set password for ‘root’@‘localhost’ = password('mypasswd'); mysql> exit
搞定!
How to Install MySQL on CentOS 7Updated Thursday, August 27th, 2015 by LinodeUse promo code DOCS10 for $10 credit on a new account. Try this GuideContribute on GitHubMySQL is a popular database management system used for web and server applications. However, MySQL is no longer in CentOS’s repositories and MariaDB has become the default database system offered. MariaDB is considered a for MySQL and would be sufficient if you just need a database system in general. See ourguide for installation instructions.If you nonetheless prefer MySQL, this guide will introduce how to install, configure and manage it on a Linode running CentOS 7.Large MySQL databases can require a considerable amount of memory. For this reason, we recommend using a for such setups.
This guide is written for a non-root user. Commands that require elevated privileges are prefixed with sudo
. If you’re not familiar with the sudo
command, you can check ouguide.
1 | hostname |
Update your system:
1 | sudo yum update |
MySQL must be installed from the
Download and add the repository, then update.
1 | wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm |
Install MySQL as usual and start the service. During installation, you will be asked if you want to accept the results from the .rpm file’s GPG verification. If no error or mismatch occurs, enter y
.
1 | sudo yum install mysql-server |
MySQL will bind to localhost (127.0.0.1) by default. Please reference ouror information on connecting to your databases using SSH.
Allowing unrestricted access to MySQL on a public IP not advised but you may change the address it listens on by modifying the
bind-address
parameter in/etc/my.cnf
. If you decide to bind MySQL to your public IP, you should implement firewall rules that only allow connections from specific IP addresses.
Harden MySQL Server
Run the mysql_secure_installation
script to address several security concerns in a default MySQL installation.
1 | sudo mysql_secure_installation |
You will be given the choice to change the MySQL root password, remove anonymous user accounts, disable root logins outside of localhost, and remove test databases. It is recommended that you answer yes
to these options. You can read more about the script in in t
Using MySQL
The standard tool for interacting with MySQL is the mysql
client which installs with the mysql-server
package. The MySQL client is used through a terminal.
Root Login
To log in to MySQL as the root user:
1 | mysql -u root -p |
When prompted, enter the root password you assigned when the mysql_secure_installation script was run.
You’ll then be presented with a welcome header and the MySQL prompt as shown below:
1 | mysql> |
To generate a list of commands for the MySQL prompt, enter \h
. You’ll then see:
1 | List of all MySQL commands: |
Create a New MySQL User and Database
In the example below, testdb
is the name of the database, testuser
is the user, and password
is the user’s password.
1 | create database testdb; |
You can shorten this process by creating the user while assigning database permissions:
1 | create database testdb; |
Then exit MySQL.
1 | exit |
Create a Sample Table
Log back in as testuser
.
1 | mysql -u testuser -p |
Create a sample table called customers. This creates a table with a customer ID field of the type INT for integer (auto-incremented for new records, used as the primary key), as well as two fields for storing the customer’s name.
1 | use testdb; |
Then exit MySQL.
1 | exit |
Reset the MySQL Root Password
If you forget your root MySQL password, it can be reset.
Stop the current MySQL server instance, then restart it with an option to not ask for a password.
1 | sudo systemctl stop mysqld |
Reconnect to the MySQL server with the MySQL root account.
1 | mysql -u root |
Use the following commands to reset root’s password. Replace password
with a strong password.
1 | use mysql; |
Then restart MySQL.
1 | sudo systemctl start mysqld |
Tune MySQL
a Perl script that connects to a running instance of MySQL and provides configuration recommendations based on workload. Ideally, the MySQL instance should have been operating for at least 24 hours before running the tuner. The longer the instance has been running, the better advice MySQL Tuner will give.
Download MySQL Tuner to your home directory.
1 | wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl |
To run it:
1 | perl ./mysqltuner.pl |
You will be asked for the MySQL root user’s name and password. The output will show two areas of interest: General recommendations and Variables to adjust.
MySQL Tuner is an excellent starting point to optimize a MySQL server but it would be prudent to perform additional research for configurations tailored to the application(s) utilizing MySQL on your Linode.
More Information
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.