MySQL安装
MySQL在MAC下安装
下载
mysql.server 在support-files下
启动服务
windows启动命令
默认情况下没有密码,直接就可以使用root登录
设置安全认证
1
| mysql_secure_installation
|
停止服务
MySQL在Linux下安装
下载压缩包,解压之后放到/usr/local目录下,目录名称修改为mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #创建数据目录 mkdir /usr/local/mysql/data
# 创建mysql用户、mysql组,并将该目录权限 groupadd mysql useradd -r -g mysql mysql chown -R mysql:mysql /usr/local/mysql chmod -R 755 /usr/local/mysql # 切换到bin目录下 cd /usr/local/mysql/bin # 进行安装 此时会生成一个root用户的密码 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
# 创建软链接 ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
# 启动mysql service mysql start
# 使用安装时生成的密码登录之后,进行密码修改 set password for root@localhost = password('123456');
# 开放远程连接 use mysql; update user set user.Host='%' where user.User='root'; flush privileges;
|
MySQL在windows下安装
下载压缩包,解压后在bin目录的同级目录下创建my.ini
配置环境变量MYSQL_HOME为mysql的下载目录
,设置Path追加%MYSQL_HOME\bin%
之后执行
该命令正常应该返回Service successfully installed
如果返回Install/Remove of the Service Denied说明没有权限,需要使用管理员身份打开命令行,然后再执行该命令
如果执行报xxx.dll不存在,可以下载DirectX修复工具来进行修复dll
之后执行
此时会在my.ini中配置的basedir下生成mysql文件。默认密码在所配置的datadir目录下的电脑名.err
文件中,使用该默认生成的密码来进行登录
先开启mysql服务
进入mysql
1 2
| mysql -uroot -p 输入生成的默认密码
|
进入之后把密码改掉
1 2
| flush privileges; set password for root@localhost = password('123456');
|
退出之后,使用新改的密码123456就可以登录了
配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| # [mysqld] 组中包含了mysqld服务启动时的参数 [mysqld] datadir=/usr/local/mysql/data # 端口号 port = 3306 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 # 指定mysql允许的最大连接进程数。经常出现too many connections的错误,可增加该值 max_connections=400 innodb_file_per_table=1 character_set_server=utf8 # linux和unix环境下,可以不通过tcp/ip网络连接而直接使用unix socket连接 socket = /tmp/mysql.sock # 不使用域名解析,如果配置了表示连接方式要使用ip,否则无法连接 skip-name-resolve # 避免mysql的外部锁定 skip-external-locking # back_log表示在mysql暂时停止响应新请求之前,短时间内的多少请求可以被存到堆栈中。如果系统在短时间内有很多连接,需要增大该值 back_log=384 #用于MyISAM表索引的缓冲区大小,对MyISAM表性能影响较大 key_buffer_size=384M #在网络传输中一次消息传输量的最大值,为1024的整数倍,单位字节 max_allowed_packet=4M # 设置mysql每个线程的堆栈大小 thread_stack=256K # 表高速缓存的大小,当mysql访问一个表时,如果在mysql表缓冲区中还有空间,这个表就被打开并放入表缓冲区,可以加快访问表的内容。可以查看数据库运行峰值的open_tables和opened_tables,用来判断是否需要增加table_cache的值。如果open_tables接近table_cache的时候,并且opened_tables这个值在逐步增加,就要考虑增加这个值了 table_cache=614K # 查询排序所用的缓冲区大小 sort_buffer_size=6M # 查询操作所能使用的缓冲区大小 read_buffer_size=4M # 联合查询操作所使用的缓冲区大小 join_buffer_size=8M # 设置ThreadCache池中可以缓存的连接线程最大数量 thread_cache_size=64 # 查询缓冲区大小。当qcache_lowmem_prunes非常大时,表示经常出现缓冲不够的情况;qcache_free_blocks非常大时,说明缓冲区中的碎片非常多 query_cache_size=64M #用于内存临时表的最大值,如果超过该值,会将临时表写入磁盘 tem_table_size=256M #设置每台主机的连接请求异常的最大次数,超过该次数,mysql服务器将禁止该host的连接请求,可以通过flush hosts命令来清空此host的相关信息 max_connect_errors=1000 #一个请求的最大连接时间 wait_timeout=10 #一般取为逻辑cpu的两倍 thread_concurrency=8 #彻底关闭TCP/IP连接方式,如果是远程连接不要使用该配置 skip-networking
[mysql] default-character-set=utf8
|
命令
MySQL登录命令
1 2 3 4 5 6 7 8 9
| mysql -u 用户名 -p 密码 -P 端口号 -h 服务器ip
----------- -u/-user 用户名 -p 密码 -h/-host 服务器ip或主机名 -P/-port 端口号 -default-character-set 字符集 databasename 该参数不是命令行选项,而是打算使用的数据库
|
重要命令
- clear 简写为\c,放弃正在输入的命令
- help 简写\h,显示帮助命令
- quit或exit 简写\q,退出mysql命令行
- status 简写\s,查看mysql服务器的状态信息
- tee [filename] 简写\T [f],把输入输出记录到指定文件中
- notee 简写\t,停止使用tee功能
- use db 简写\u db,指定使用数据库
- source filename 简写 \. filename,读取并执行给定文件中的sql命令
- show processlist 查看所有活跃的进程
- show privileges 显示MySQL服务器支持的系统特权列表