mysql 5.7 bin /usr/local/mysql-5.7.10-osx10.9-x86_64/bin/
命令行方式 使用mysqld的方式启动,注意配置参数的设置,此外可查看/etc/my.cnf文件中的配置,在mysql启动时会加载该文件的配置。 启动 尤其注意--user参数 sudo/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin--user=mysql --log-error=/usr/local/mysql/data/2014-443deMacBook-Pro.local.err--pid-file=/usr/local/mysql/data/2014-443deMacBook-Pro.local.pid--socket=/tmp/mysql.sock --port=3306 &
停止 sudo /usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown
启动 sudo /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid
alias 在用户环境配置文件中定义命令的简写形式,省去敲入长串的命令路径。 alias mysql='/usr/local/' alias mysqladmin='/usr/local/'
小结 有时由于各种原因MySql没启动,经常会报缺少/tmp/mysql.sock找不到,这个问题的原因是mysql启动后将这个文件创建到别处,这个一般在初期安装mysql后会遇到,后续再报这错误说明mysql没启动,这个文件根本没有创建。
解决Mac下 MySQL 命令在命令行中不能直接使用的问题 输入如下命令修改home目录下的.bash_profile文件,如果之前没有进行过环境变量的配置,那么该文件将是空白的无内容,执行如下命令 sudo vim .bash_profile 并将export PATH=${PATH}:/usr/local/mysql/bin复制到.bash_profile文件中 这一步完成之后要彻底关闭命令行,重新打开就可以用简短的MySQL命令了
mysqld --user=_mysql --basedir=/usr/local/mysql-5.7.10-osx10.9-x86_64/ --datadir=/usr/local/mysql-5.7.10-osx10.9-x86_64/data --plugin-dir=/usr/local/mysql-5.7.10-osx10.9-x86_64/lib/plugin --log-error=/usr/local/mysql-5.7.10-osx10.9-x86_64/data/mysqld.local.err --pid-file=/usr/local/mysql-5.7.10-osx10.9-x86_64/data/mysqld.local.pid
//查看MySQL数据库服务器和数据库字符集 show variables like '%char%';
//查看表的字符集 show table status from mysql_db like '%tb_name%'
//查看表中所有列的字符集 show full columns from tb_name;
//查看mysql所支持的字符集 show charset;
修改mysql配置文件/etc/my.cnf
sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
sudo vi /etc/my.cnf
[client]部分加入: default-character-set=utf8 [mysqld]部分加入: character-set-server=utf8
2015年10月22日,MySQL发布5.7.9稳定版,虽然MySQL官方手册里已经有很多关于MySQL 5.7新特性的介绍,在这里,还是让我们一起看看在MySQL 5.7里有哪些值得我们关注的新特性吧。
1、安全性 用户表mysql.user的plugin字段不允许为空,默认值是mysql_native_password,而不是mysql_old_password,不再支持旧密码格式; 增加密码过期机制,过期后需要修改密码,否则可能会被禁用,或者进入沙箱模式; 使用mysql_install_db初始化时,默认会自动生成随机密码,并且不创建除root 外的其他账号,也不创建test库; 在5.7中,推荐使用mysqld –initialize对数据库进行初始化,在初始化时如果加上–initial-insecure,则会创建空密码的 root 账号,否则会创建带密码的 root 账号,密码直接写在 log-error 日志文件中(在5.6中是放在~/.mysql_secret里); 在5.7中可以对普通用户进行unlock及lock操作。
2、增强了InnoDB引擎的一些功能 优化了DDL操作,在涉及到InnoDB临时表时,性能显著提升; 在5.6及以前,InnoDB临时表的元数据存储在InnoDB系统表里,在5.7中,临时表的信息及元数据都存储在新多出来的表INNODB_TEMP_TABLE_INFO中; 在5.7中,InnoDB临时表会存储在一个非压缩的、单独的表空间中,每次启动MySQL服务,都会自动创建该表空间,默认存储在DATADIR下,其路径由参数innodb_temp_data_file_path指定; 支持在线(INPLACE)增加VARCHAR列的长度。不过0-255长度是一个区间,256以上是另一个区间,不能跨越255这个坎,比如把长度从100扩展成1000(因为255长度以内额外用1个字节表示,大于255长度则需要额外2个字节表示); 不支持在线缩小VARCHAR的长度 ; 支持innodb_page_cleaners选项可设置多个page cleaner线程提高脏页刷新效率 ; 可通过设置innodb_undo_log_truncate等选项自动删除不用的undo log ; 加强InnoDB read-only模式的性能 ; 在5.7中,可以创建一个普通的表空间: CREATE TABLESPACE tablespace_name ADD DATAFILE ‘file_name.ibd’ [FILE_BLOCK_SIZE = n]
3、SQL_MODE 默认启用STRICT_TRANS_TABLES模式; 对ONLY_FULL_GROUP_BY模式实现了更复杂的特性支持,并且也被默认启用; 其他被默认启用的sql mode还有NO_ENGINE_SUBSTITUTION。 在5.6中对一个10字符长度的VARCHAR列写入15个字符,会自动截断并给出告警,而在5.7,则直接抛出错误
4、优化online操作,例如修改buffer pool、修改索引名(非主键)、修改REPLICATION FILTER、修改MASTER而无需关闭SLAVE线程等众多特性。 5、在5.7中,可以在INFORMATION_SCHEMA里面的表中查看MySQL的系统参数 6、支持一个表上有多个触发器,这样一来,原先已有触发器表也可以支持用pt-osc 了 7、支持对在线某个连接直接查看执行计划,比如EXPLAIN FOR CONNECTION 1024 8、新增log_syslog选项,可将MySQL日志打印到系统日志文件中 9、在MySQL 5.6以前,在客户端CTRL+C后会直接退出啊MySQL客户端,这一点比较恶心,在5.7以后不会退出客户端而是终端当前的操作 10、新增一个比较好的功能,就是在CREATE | ALTER TABLE时,可以在某张表已有列的基础上,对新增的列进行运算: CREATE TABLE triangle ( sidea DOUBLE, sideb DOUBLE, sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb)) ); INSERT INTO triangle (sidea, sideb) VALUES(1,1),(3,4),(6,8); mysql> SELECT * FROM triangle; +——-+——-+——————–+ | sidea | sideb | sidec | +——-+——-+——————–+ | 1 | 1 | 1.4142135623730951 | | 3 | 4 | 5 | | 6 | 8 | 10 | +——-+——-+——————–+ 11、支持多源复制,可以把多个MASTER的数据归并到一个实例上,如果是同一个表的话,会存在主键和唯一索引冲突的风险,需要提前做好规划。 12、支持多线程复制。