跳转至

Mysql&MariaDB

登陆

无密码本地登陆 $ mysql $ sudo mysql 无密码用户名登陆 $ mysql -u umane 用户名密码登陆 $ mysql -u uname -p

创建用户 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; username:用户名 host:登陆主机,本地'localhost',远程'%' password:密码,可以为空''

授权 命令:GRANT privileges ON databasename.tablename TO 'username'@'host'; privileges:SELECT , INSERT , UPDATE,ALL databasename:要授权的数据库名,全部则为* tablename:要授权的表名,全部则为* 创建同时授权: GRANT all privileges ON . to test@'%' IDENTIFIED BY '1234';

设置或修改用户密码 命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

撤销用户权限 命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';

查看用户权限 SHOW GRANTS FOR 'dog'@'localhost';

删除用户 命令: DROP USER 'username'@'host';

保存设置 flush privileges;

表管理

删除数据库中所有的表 1、选择数据库中的所有的表 SELECT concat('DROP TABLE IF EXISTS ', table_name, ';') FROM information_schema.tables WHERE table_schema = 'mydb'; 2、将输出的内容再运行一次

MySQL 安装配置

MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。 MySQL由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。 MySQL 安装 本教程的系统平台:CentOS release 6.6 (Final) 64位。 一、安装编译工具及库文件 yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

二、 安装cmake 编译器 1、下载cmake安装包 wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz 2、解压安装包 tar zxvf cmake-3.1.1.tar.gz 3、进入安装包目录 cd cmake-3.1.1 4、编译安装 ./bootstrap make && make install

三、安装 MySQL MySQL版本:mysql-5.6.15。 1、下载MySQL安装包 wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz 2、解压安装包 tar zxvf mysql-5.6.15.tar.gz 3、进入安装包目录 cd mysql-5.6.15 4、编译安装 $ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306 $ make && make install 5、查看mysql版本: /usr/local/webserver/mysql/bin/mysql --version 到此,mysql安装完成。

MySQL 配置 1、创建mysql运行使用的用户mysql: /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql 2、创建binlog和库的存储路径并赋予mysql用户权限 mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/ 3、创建my.cnf配置文件 将/etc/my.cnf替换为下面内容 $ cat /etc/my.cnf

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /www/data_mysql
log-error = /usr/local/webserver/mysql/mysql_error.log
pid-file = /usr/local/webserver/mysql/mysql.pid
open_files_limit = 65535
back_log = 600
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 600
#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
default-tmp-storage-engine=MYISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 128M
max_heap_table_size = 128M
log-slave-updates
log-bin = /usr/local/webserver/mysql/binlog/binlog
binlog-do-db=oa_fb
binlog-ignore-db=mysql
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
relay-log = /usr/local/webserver/mysql/relaylog/relaylog
expire_logs_days = 10
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
interactive_timeout = 120
wait_timeout = 120
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
#master-host = 192.168.1.2
#master-user = username
#master-password = password
#master-port = 3306
server-id = 1
loose-innodb-trx=0 
loose-innodb-locks=0 
loose-innodb-lock-waits=0 
loose-innodb-cmp=0 
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0 
loose-innodb-cmpmem=0 
loose-innodb-cmpmem-reset=0 
loose-innodb-buffer-page=0 
loose-innodb-buffer-page-lru=0 
loose-innodb-buffer-pool-stats=0 
loose-innodb-metrics=0 
loose-innodb-ft-default-stopword=0 
loose-innodb-ft-inserted=0 
loose-innodb-ft-deleted=0 
loose-innodb-ft-being-deleted=0 
loose-innodb-ft-config=0 
loose-innodb-ft-index-cache=0 
loose-innodb-ft-index-table=0 
loose-innodb-sys-tables=0 
loose-innodb-sys-tablestats=0 
loose-innodb-sys-indexes=0 
loose-innodb-sys-columns=0 
loose-innodb-sys-fields=0 
loose-innodb-sys-foreign=0 
loose-innodb-sys-foreign-cols=0

slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
long_query_time = 1
[mysqldump]
quick
max_allowed_packet = 32M
4、初始化数据库 /usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql 显示如下信息: Installing MySQL system tables...2015-01-26 20:18:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). OK

Filling help tables...2015-01-26 20:18:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). OK ... 5、创建开机启动脚本 $ cd /usr/local/webserver/mysql/ $ cp support-files/mysql.server /etc/rc.d/init.d/mysqld $ chkconfig --add mysqld $ chkconfig --level 35 mysqld on 6、启动mysql服务器 $ service mysqld start 7、连接 MySQL $ /usr/local/webserver/mysql/bin/mysql -u root -p 修改MySQL用户密码 mysqladmin -u用户名 -p旧密码 password 新密码 或进入mysql命令行 SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码'); 创建新用户并授权: grant all privileges on . to 用户名@'%' identified by '密码' with grant option; 其他命令 启动:service mysqld start 停止:service mysqld stop 重启:service mysqld restart 重载配置:service mysqld reload

MariaDB安装配置

安装准备 创建mysql用户组,-r系统用户组 $ groupadd -r mysql 创建用户并加入到mysql系统用户组 $ useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysql 添加新用户 -r添加系统用户 -g用户所属组-s登录的shell -d新帐户的主目录 -M不要自动创建目录 创建数据库相关目录 $ mkdir -pv /data/mysql $ chown -R mysql:mysql /data/mysql/ 删除CentOS 默认数据库配置文件 $ find -H /etc/ | grep my.c $ rm -rf /etc/my.cnf /etc/my.cnf.d/ $ find -H /etc/ | grep my.c 卸载系统自带mariadb-libs $ rpm -qa|grep mariadb* $ rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps 安装相关包 $ yum -y install libaio libaio-devel bison bison-devel zlib-devel openssl openssl-devel ncurses ncurses-devel libcurl-devel libarchive-devel boost boost-devel lsof wget gcc gcc-c++ make cmake perl kernel-headers kernel-devel pcre-devel $ cd /usr/local/src 编译安装cmake,ncurses,Bison,Boost $ wget https://github.com/Kitware/CMake/releases/download/v3.13.3/cmake-3.13.3.tar.gz $ tar -zxvf cmake-3.13.3.tar.gz $ cd cmake-3.13.3 $ ./bootstrap $ gmake && make install $$ cd .. $ curl -O http://120.52.51.14/ftp.gnu.org/gnu/ncurses/ncurses-6.1.tar.gz $ tar -zxvf ncurses-6.1.tar.gz $ cd ncurses-6.1 $ ./configure $ make && make install && cd .. $ curl -O http://alpha.gnu.org/gnu/bison/bison-3.2.91.tar.gz $ tar -zxvf bison-3.2.91.tar.gz $ cd ncurses-6.1 $ ./configure $ make && make install && cd .. $ wget https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0_rc1.tar.gz $ tar -zxvf boost_1_69_0_rc1.tar.gz $ cd boost_1_69_0 $ ./bootstrap.sh $ ./b2 stage --with-iostreams --toolset=gcc link=static runtime-link=shared threading=multi release $ ./b2 install --prefix=/opt/boost 下载安装MariaDB $ curl -O http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.3.12/source/mariadb-10.3.12.tar.gz $ tar -zxvf mariadb-10.3.12.tar.gz $ cd mariadb-10.3.12 $ cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DENABLED_LOCAL_INFILE=1 \ -DENABLE_DOWNLOADS=1 \ -DEXTRA_CHARSETS=all \ -DSYSCONFDIR=/etc \ -DWITHOUT_TOKUDB=1 \ -DWITH_ARCHIVE_STPRAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_DEBUG=0 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LOBWRAP=0 \ -DMYSQL_DATADIR=/data/mysql \ -DMYSQL_USER=mysql \ -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_MAINTAINER_MODE=0 参数含义 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql [MySQL安装的根目录] -DDEFAULT_CHARSET=utf8 [设置默认字符集为utf8] -DDEFAULT_COLLATION=utf8_general_ci [设置默认字符校对] -DENABLED_LOCAL_INFILE=1 [启用加载本地数据] -DENABLE_DOWNLOADS=1 [编译时允许自主下载相关文件] -DEXTRA_CHARSETS=all [使MySQL支持所有的扩展字符] -DSYSCONFDIR=/etc [MySQL配置文件所在目录] -DWITHOUT_TOKUDB=1 \ -DWITH_ARCHIVE_STPRAGE_ENGINE=1 [MySQL的数据库引擎] -DWITH_ARCHIVE_STORAGE_ENGINE=1 [MySQL的数据库引擎] -DWITH_BLACKHOLE_STORAGE_ENGINE=1 [MySQL的数据库引擎] -DWITH_DEBUG=0 [禁用调试模式] -DWITH_MEMORY_STORAGE_ENGINE=1 [MySQL的数据库引擎] -DWITH_MYISAM_STORAGE_ENGINE=1 [MySQL的数据库引擎] -DWITH_INNOBASE_STORAGE_ENGINE=1 [MySQL的数据库引擎] -DWITH_PARTITION_STORAGE_ENGINE=1 [MySQL的数据库引擎] -DWITH_READLINE=1 [MySQL的readline library] -DWITH_SSL=system [通讯时支持ssl协议] -DWITH_ZLIB=system [允许使用zlib library] -DWITH_LOBWRAP=0 \ -DMYSQL_DATADIR=/data/mysql [MySQL数据库文件存放目录] -DMYSQL_USER=mysql [MySQL用户名] -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock [MySQL的通讯目录] -DMYSQL_TCP_PORT=3306 [MySQL的监听端口] -DMYSQL_MAINTAINER_MODE=0 $ make && make install && cd # 上步失败$ rm -f CMakeCache.txt 使用maria用户执行脚本, 安装数据库到数据库存放目录 $ cd /usr/local/mysql # 需要在此目录下 $ /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql 复制MariaDB配置文件到/etc目录 $ cp /usr/local/mysql/support-files/wsrep.cnf /etc/my.cnf 创建启动脚本 $ cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld 启动mysqld服务 $ /etc/rc.d/init.d/mysqld start 配置环境变量 $ vim /etc/profile.d/mysql.sh 输入以下内容 export PATH=$PATH:/usr/local/mysql/bin/ 保存并退出 :wq 为脚本赋于可执行权限 $ chmod 0777 /etc/profile.d/mysql.sh 读取并执行mysql.sh脚本, 并执行脚本, 以立即生效环境变量 $ source /etc/profile.d/mysql.sh 运行MariaDB初始化脚本 $ /usr/local/mysql/bin/mysql_secure_installation 根据提示初始化操作 启动MariaDB服务 $ systemctl start mysqld 查看MariaDB服务状态 $ systemctl status mysqld