MySQL 5 on Linux System
Open the Terminal and run the following commands:
sudo apt-get update |
sudo apt-get upgrade |
sudo apt-get install mysql-server-5.7 |
To install MySQL Workbench (optional), which is the GUI for the database:
sudo apt install mysql-workbench |
Database setup
You need to set the database user for localhost and external connections and push the following SQL commands or via the cmd line.
Cmd line (not Workbench):
sudo mysql -u root -p |
create user 'root'@'%' IDENTIFIED BY 'root'; |
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'admin.1'; |
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin.1'; |
grant all privileges on *.* to 'root'@'%' with grant option; |
From the mysql.user menu, select host %, and user root.
After the user is added and defined, you can set up the MySQL database.
mysql_secure_installation |
Validate password component [Y/n] n |
Change the root password? [Y/n] n |
Remove anonymous users? [Y/n] y |
Disallow root login remotely? [Y/n] n |
Remove test database and access to it? [Y/n] y |
Reload privilege tables now? [Y/n] y |
We recommend changing the password, as "admin.1" is the default. This password is required during ESET Inspect Server Installation. Through the terminal, follow the tutorial.
Through the Workbench, click:
•Database > Connect to Database… select database > OK
•Then Server > Users and Privileges > Select root%—set the password and confirm it
Open the Terminal and execute the following command to copy mysql.service file:
sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/ |
Open the /etc/systemd/system/mysql.service in texteditor (or nano, pico, vi ...) and add following lines:
sudo nano /etc/systemd/system/mysql.service |
LimitNOFILE=30000 |
LimitMEMLOCK=30000 |
Save the file and reload the system configuration by the following command:
sudo systemctl daemon-reload |
Now you need to modify /etc/mysql/mysql.conf.d/mysqld.cnf file (where are the db params).
Open the file in texteditor or nano, pico, vi ... and add the following lines under section [mysqld]:
sudo /etc/mysql/mysql.conf.d/mysqld.cnf |
bind-address = IP_OF_THIS_MACHINE, BUT NO 127.0.0.1 |
thread_stack = 256K |
*bind-address – default value is 127.0.0.1. You must set this address to the machine's IP where MySQL is running. ESET Inspect Installation cannot connect to MySQL in case of incorrect IP.
Insert the following parameters to the part InnoDB
innodb_buffer_pool_size=4G |
innodb_flush_log_at_trx_commit=0 |
innodb_log_file_size=2G |
*innodb_buffer_pool_size—set to 80% of the RAM size of MySQL machine
*innodb_log_file_size —set to 40% - 60% of the innodb_buffer_pool_size value
Add to the end these lines
event_scheduler = ON |
wait_timeout=900 |
max_connections=300 |
Restart MySQL to load the new parameters:
sudo service mysql restart |
Verify the status of the MySQL Service
Open the terminal, and type in the command.
systemctl status mysql.service |
MySQL Service runs when the reported state is: active (running).
Sources
MySQL Installation |
https://www.cyberciti.biz/faq/howto-install-mysql-on-ubuntu-linux-16-04/ |
---|---|
Warning: World-writable config file '/etc/mysql/my.cnf' is ignored |
https://stackoverflow.com/questions/32133353/unable-to-connect-to-mysql-database-in-ubuntu |
Open_files_limit |
|
MySQL command line commands |
https://dev.mysql.com/doc/refman/5.5/en/getting-information.html |