Mysql is one of the most populor open source Relational database management system.
1. Change root user
su -
## OR ##
sudo -i
2. Install Remi repository
## Remi Dependency on CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
## CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
3. Check Available MySQL versions
yum --enablerepo=remi,remi-test list mysql mysql-server
4. Update or Install MySQL 5.5.15
yum --enablerepo=remi install mysql mysql-server
5. Start MySQL server and autostart MySQL on boot
/etc/init.d/mysqld start
## OR ##
service mysqld start
chkconfig --levels 235 mysqld on
6. MySQL Secure Installation
* Set (Change) root password
* Remove anonymous users
* Disallow root login remotely
* Remove test database and access to it
* Reload privilege tables
Start MySQL Secure Installation with following command
/usr/bin/mysql_secure_installation
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Note: If you don’t want some reason, do a “MySQL Secure Installation” then at least it’s very important to change the root user’s password
mysqladmin -u root password [your_password_here]
## Example ##
mysqladmin -u root password myownsecrectpass
7. Connect to MySQL database (localhost) with password
mysql -u root -p
## OR ##
mysql -h localhost -u root -p
8. Create Database, Create MySQL User and Enable Remote Connections to MySQL Database
This example uses following parameters:
* DB_NAME = testdb
* USER_NAME = test_user
* REMOTE_IP = 10.1.1.35
* PASSWORD = password
* PERMISSIONS = ALL
## CREATE DATABASE ##
mysql> CREATE DATABASE testdb;
## CREATE USER ##
mysql> CREATE USER 'test_user'@'10.1.1.35' IDENTIFIED BY 'password';
## GRANT PERMISSIONS ##
mysql> GRANT ALL ON testdb.* TO test_user@'10.1.1.35';
## FLUSH PRIVILEGES, Tell the server TO reload the GRANT TABLES ##
mysql> FLUSH PRIVILEGES;
Enable Remote Connection to MySQL Server –> Open MySQL Port (3306) on Iptables Firewall (as root user again)
1. Edit /etc/sysconfig/iptables file:
nano -w /etc/sysconfig/iptables
2. Add following line before COMMIT:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3. Restart Iptables Firewall:
service iptables restart
## OR ##
/etc/init.d/iptables restart
4. Test remote connection:
mysql -h dbserver_name_or_ip_address -u test_user -p testdb
I want to and will install the mysql database on my fedora, thanks already to guide how to install.
ReplyDelete