mariadb的概念
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
与 MySQL 相比较,MariaDB 更强的地方在于:
Maria 存储引擎 PBXT 存储引擎 XtraDB 存储引擎 FederatedX 存储引擎 更快的复制查询处理 线程池 更少的警告和bug 运行速度更快 更多的 Extensions (More index parts, new startup options etc) 更好的功能测试 数据表消除 慢查询日志的扩展统计 支持对 Unicode 的排序
实验环境
重置虚拟机desktop, 设置主机名为(mysql.westos.com),配置ip 配置yum源 下载软件
yum install mariadb-server.x86_64 -y下载好后开启,然后就可以直接用mysql命令来运行(默认为root用户登陆)
[root@mysql ~]# systemctl start mariadb [root@mysql ~]# mysql但是这样十分不安全,我们需要重新设置
mysql_secure_installation 数据库安全初始化设置后需要
mysql -uroot -p 登陆输入密码 (密码也可以直接跟在-p后面,但十分不安全) 查看数据库接口
netstat -antlupe | grep mysql 发现有暴露在外面的接口,不安全编辑配置文件 vim /etc/my.cnf
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 Settings user and group are ignored when systemd is used. If you need to run mysqld under a different user or group, customize your systemd unit file for mariadb according to the instructions in http://fedoraproject.org/wiki/Systemd skip-networking=1 [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid include all files from the config directory !includedir /etc/my.cnf.d如上,加入skip-networking=1 开启 跳过网络接口 再查看接口 字段 相当于一列
数据库管理 mysqladmin -uroot -pwestos password lee 当超级用户密码忘记时: systemctl stop mariadb mysqld_safe --skip-grant-tables & mysql update mysql.user set Password=password(‘westos’) where User=‘root’;
kill -9 mysql的所有进程id
systemctl start mariadb
==注意;所有的操作后面都要加 ; ==
注意;符号应是英文符,中文符不可以
varchar 可变长数据类型 若定为5,则1-5个字符都可以 char 定长数据类型 若定为5,若输入一个字符则后四个字符,会自动空格补齐
修改成功,但密码以明文显示,这样不安全
ALTER TABLE linux ADD class varchar(20); 在表格里添加列 ALTER TABLE linux DROP CLASS; 在表格里删除列 ALTER TABLE linux ADD age varchar(20) AFTER password; 添加列到指定位置(不能添加到第一列,会造成数据丢失)
ALTER TABLE linux RENAME redhat; 给表改名恢复方式1
mysql -uroot -pwestos -e "CREATE DATABASE westos;" mysql -uroot -pwestos westos < /mnt/westos.sql恢复方式2
vim /mnt/westos.sql CREATE DATABASE westos; USE westos; mysql -uroot -pwestos < /mnt/westos.sql测试: http://172.25.254.100/mysqladmin
