yangheng48 发表于 2020-7-30 10:52

Linux学习笔记——MySQL服务器的运维与优化

环境:        单节点操作 mysql IP地址:192.168.200.165        操作注意:在MySQL中,为了区分MySQL的关键字与普通字符,MySQL引入了一个反引号。 ` --->就是这个
1:安装环境
@localhost ~]# yum install -y mariadb mariadb-server                        //安装Mariadb数据库
# systemctl start mariadb                                //开启数据库,否则后面可能会初始化失败
# mysql_secure_installation                                //初始化数据库
#初始化操作如下:
        Set root password? y
        Remove anonymous users? y
        Disallow root login remotely? n
        Remove test database and access to it? y
        Reload privilege tables now? y


2:创建数据表
# mysqladmin -uroot -p000000 create test                        //创建一个名为 “test” 的数据库
# mysql -uroot -p000000                                //进入数据库
MariaDB >       use test;
MariaDB >CREATE TABLE IF NOT EXISTS `tables`(`tables_id` INT UNSIGNED AUTO_INCREMENT, `tables_title` VARCHAR(100) NOT NULL, `tables_author` VARCHAR(40) NOT NULL,`tables_data` DATE, PRIMARY KEY (`tables_id`)) ENGINE=INNODB DEFAULT CHARSET=utf8;


3:数据库备份
# mysqldump -uroot -p000000 test > test.sql                //导出整个数据表
# ls                #可以看到/root/目录下 有一个test.sql
anaconda-ks.cfgCentOS-7-x86_64-DVD-2003.isoPXE.shtest.sql
#到处一个表,命令如下
# mysqldump -uroot -p000000 test tables > test_tables.sql
# ls
anaconda-ks.cfgCentOS-7-x86_64-DVD-2003.isoPXE.shtest.sqltest_tables.sql


删除test数据库,进行导入测试,用 mysqldump 备份的文件是一个可以直接导入的SQL脚本。
有两种方法可以将数据库导入,一种是 msql 命令,把数据库文件恢复到指定的数据库,命令如下:


第一种方法:
        # mysqladmin -uroot -p000000 drop test
        Dropping the database is potentially a very bad thing to do.
        Any data stored in the database will be destroyed.


        Do you really want to drop the 'test' database y
        Database "test" dropped


        # mysql -uroot -p000000               
        MariaDB [(none)]> create database test;                                //因为我们drop 了 test 数据库它也就不在了,需要再创建一个
        # mysql -uroot -p000000 test < test.sql                //恢复到指定的数据库


第二种方法:
        # mysqladmin -uroot -p000000 drop test
        Dropping the database is potentially a very bad thing to do.
        Any data stored in the database will be destroyed.


        Do you really want to drop the 'test' database y
        Database "test" dropped
        # mysql -uroot -p000000       
        MariaDB [(none)]> create database test;
        MariaDB > use test
        Database changed
        MariaDB > source /root/test.sql


4:添加用户并授权
#授权root用户可以在任何节点访问 test 数据库下的所有表, “ % ” 代表所有节点
MariaDB [(none)]> GRANT ALL PRIVILEGES ON test. * TO 'root'@'%' IDENTIFIED BY '000000';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON test. * TO 'root'@'localhost' IDENTIFIED BY '000000';
#添加root用户对test数据库增、删、改、查的权限
MariaDB [(none)]> GRANT SELECT,INSERT,DELETE,UPDATE ON test. * TO 'root'@'%' IDENTIFIED BY '000000';


5:数据库优化
# vi /etc/my.cnf                   //进入配置文件
thread_concurrency = 64
max_connections = 1500
max_connect_errors = 30
bulk_insert_buffer_size = 32M
query_cache_type = 1
query_cche_size =64M
max_allowed_packet = 128M
read_buffer_size = 8M
read_rnd_buffer_size = 32M
#为大家附上命令解析

wm96131421 发表于 2020-7-30 11:12

顶正在学linux数据库

yuqc 发表于 2020-7-30 11:36

正在了解相关东西, 就看到楼主的贴子了, 正好学习一下

mokjf 发表于 2020-7-30 11:41

本帖最后由 mokjf 于 2020-7-30 11:44 编辑

你漏了做开机自动启动MySQL,

亲爱的靳萌萌 发表于 2020-7-30 11:56

有用   好好学习

getttime 发表于 2021-8-3 16:25

学习一下
页: [1]
查看完整版本: Linux学习笔记——MySQL服务器的运维与优化