当前位置:  开发笔记 > 编程语言 > 正文

MySQL安装与基本配置_MySQL

一、简介SQL语言DDL:表、视图、索引、触发器操作等。CREATEALTERDROP语句DML:数据操作。SELECTINSERTUPDATEDELETEDCL:权限设置。GRANTREVOKE数据库访问不同的语言使用不同的数据库访问技术C#使用
一、简介

SQL语言

DDL:表、视图、索引、触发器操作等。CREATE/ALTER/DROP语句

DML:数据操作。SELECT/INSERT/UPDATE/DELETE

DCL:权限设置。GRANT/REVOKE

数据库访问

不同的语言使用不同的数据库访问技术

C#使用ADO.NET,JAVA使用JDBC等

版本

Community Edition:免费、自由下载,无技术支持

Enterprise:收费、不能下载,有技术支持

Alpha:开发阶段

Beta:开发完成,未测试

Gamma:已发行一段时间的测试版

Generally Available(GA):稳定版

工具

MySQL Community Server:客户端和服务器整合起来的核心包

MySQL Cluster:提供Mysql集群功能的程序包

MySQL Fabric:为高可用性和分片管理提供了一个框架

MySQL Utilities:提供维护和管理的实用工具

MySQL Workbench:可视化编辑工具

MySQL Proxy:MySQL中间件,代理接收发往MySQL数据库的请求,将需要求路由至不同的后端主机上去

MySQL Connectors:MySQL的连接器,程序连接MySQL的驱动

MySQL Yum Repository:下载MySQL的YUM源

MySQL APT Repository:APT源

RPM包

MySQL-client:客户端连接工具,GUI工具有navicat、phpmyadmin等

MySQL-server:服务器包

MySQL-devel:库和包含文件

MySQL-shared:某些语言和应用程序需要动态装载的共享库

MySQL-test:测试组件

MySQL-embedded:嵌入式

MySQL-bundle:整合包

相关文件

/etc/my.cnf:配置文件

/usr/share/doc/MySQL-server-5.6.26/my-default.cnf:参考配置文件

/usr/share/mysql/my-default.cnf:同上

/usr/bin:客户端程序和脚本

/usr/sbin mysqld:服务器

/var/lib/mysql:日志文件,数据库

/usr/lib/mysql:数据库

/usr/share/doc/packages:文档

/usr/include/mysql:包含(头)文件

/usr/share/mysql:错误消息和字符集文件

/usr/share/sql-bench:基准程序

二、安装

环境:CentOS 6.7 x86、MySQL 5.6

报错,删除mysql-libs包

[root@CentOS MySQL]# rpm -qa | grep -i mysql

mysql-libs-5.1.73-5.el6_6.i686

[root@CentOS MySQL]# yum remove mysql-libs-5.1.73-5.el6_6.i686

RPM

[root@CentOS MySQL]# rpm -ivh MySQL-server-5.6.26-1.el6.i686.rpm

[root@CentOS MySQL]# rpm -ivh MySQL-client-5.6.26-1.el6.i686.rpm

YUM

[root@CentOS ~]# yum install mysql-server mysql-client

防火墙

[root@CentOS ~]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

[root@CentOS ~]# service iptables save

[root@CentOS ~]# service iptables restart

配置

5.1版本root无密码;5.6安装完成后,root生成随机密码在/root/.mysql_secret

5.1有配置文件;5.6无配置文件,需从/usr/share/mysql/my-default.cnf复制到/etc/my.cnf

5.1服务名mysqld,5.6为mysql

开启服务

[root@CentOS ~]# service mysql start

查看登录数据库账号root的密码

[root@CentOS ~]# cat .mysql_secret

# The random password set for the root user at Tue Sep 8 11:26:39 2015 (local time): 4VZTzey0LML2N7e1

初始化设置

[root@CentOS ~]# /usr/bin/mysql_secure_installation --user=mysql

#输入root的密码

Enter current password for root (enter for none):

#是否修改root的密码

Change the root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

#删除匿名用户

Remove anonymous users? [Y/n] y

... Success!

#禁止root远程登录

Disallow root login remotely? [Y/n] y

... Success!

#删除测试数据库

Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

#重新加载权限表

Reload privilege tables now? [Y/n] y

... Success!

三、连接数据库

参数:

-h:主机名或IP

-P:端口号,默认3306

-u:用户名

-p:密码

-e:指定SQL语句

[root@CentOS ~]# mysql -u root -p

Enter password:

[root@CentOS ~]# mysql -u root -p db01#连接db01库

[root@CentOS ~]# mysql -h 192.168.41.135 -u root -p#远程连接

四、创建远程用户

user1用户拥有所有权限,%表示任意主机可登录

mysql> create user 'user1'@'%' identified by '123456';

mysql> grant all privileges on *.* to 'user1'@'%';

五、迁移data目录

data目录应独立分区

关闭服务

[root@CentOS ~]# service mysql stop

移动目录

[root@CentOS ~]# mv /var/lib/mysql/ /data/

配置文件

[root@CentOS ~]# cp -a /usr/share/mysql/my-default.cnf /etc/my.cnf

[root@CentOS ~]# vim /etc/my.cnf

datadir=/data/mysql

socket=/data/mysql/mysql.sock

[mysql]

socket=/data/mysql/mysql.sock

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

启动服务

[root@CentOS ~]# service mysql start

SELinux报错解决方法(mv命令保留权限,所以没报错)

[root@CentOS ~]# chcon -R -t mysqld_db_t /data//mysql

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有