Environment:
CentOS Linux release 7.6.1810 (Core) with SELinux enabled with enforcing
Server version: 5.7.25 MySQL Community Server (GPL)
1. Login as a user that has root privileges, sudo to root
mysql -u root -p <enter in the root password>
mysql> select @@datadir;
+-----------------+
| @@datadir |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set (0.01 sec)
systemctl stop mysqld
systemctl status mysqld
Apr 19 08:39:51 <servername> systemd[1]: Stopping MySQL Server...
Apr 19 08:39:55 <servername> systemd[1]: Stopped MySQL Server.
4. Check if you have cp with the -a option
man cp
-a, --archive
same as -dR --preserve=all
-d same as --no-dereference --preserve=links
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all
-R, -r, --recursive
copy directories recursively
Copies a directory exactly as it is (preserves ownership and groups), the files retain all their attributes, and symlinks are not dereferenced (-d).
5. The new folder/volume I want to copy to is /data.. Copy the files from the source /var/lib/mysql to /data with -a option
cp -a /var/lib/mysql /data
6. Rename the current folder /var/lib/mysql to a different name to avoid confusion
mv /var/lib/mysql /var/lib/mysql-OLD
7. Take a backup of the my.cnf file
cp /etc/my.cnf ~/my.cnf.ORIG
8. Configure MySQL data directory to new folder location, add in port=3306, and configure datadir and socket to the new location. Also add a [client] group to the bottom of the file (after every options in the [mysqld] group) with port and socket matching the [mysqld] group.
vi /etc/my.cnf
[mysqld]
port=3306
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[client]
port=3306
socket=/data/mysql/mysql.sock
9. Add SELinux security context to the new folder. semanageutility is not installed by default and was missing, so installed policycoreutils-python. Perform a listing with security context.
yum -y install policycoreutils-python
semanage fcontext -a -t mysqld_db_t "/data(/.*)?"
restorecon -Rv /data
ls -lZ /data/mysql/
ls -lZ /var/lib/mysql-OLD
NOTE: If you don't perform this step, you will see the following warnings/errors in the /var/log/mysqld.log file.
2019-04-19T13:31:39.698773Z 0 [Warning] Can't create test file /data/mysql/<servername>.lower-test
2019-04-19T13:31:39.837948Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
9. Restart mysql
systemctl start mysqld
systemctl status mysqld
10. Verify the new data directory
mysql -u root -p <enter in the root password>
mysql> select @@datadir;
+-----------------+
| @@datadir |
+-----------------+
| /data/mysql/ |
+-----------------+
1 row in set (0.01 sec)
mysql -u root -p <enter in the root password>
mysql> select @@datadir;
+-----------------+
| @@datadir |
+-----------------+
| /data/mysql/ |
+-----------------+
1 row in set (0.01 sec)
These articles helped a lot:
balenciaga sneakers
ReplyDeletesupreme clothing
nike lebron 15
moncler
golden goose outlet
balenciaga
yeezy shoes
yeezy shoes
supreme hoodie
supreme outlet
yeezys
ReplyDeleteyeezys
supreme clothing
kobe shoes
yeezy shoes
paul george shoes
yeezy boost 380
yeezy
retro jordans
supreme new york