swift mysql osx_macOS安装MySQL数据库

本文详细介绍了如何在macOS上使用Homebrew安装MySQL,包括配置自启动、修改密码策略、设置简单密码、升级MySQL、关闭和重启服务、修改密码以及卸载MySQL的步骤。此外,还提到了通过Navicat连接数据库以及在Swift项目中使用Perfect-MySQL库进行数据库操作的方法。
摘要由CSDN通过智能技术生成

使用Homebrew安装MySQL

brew install mysql

配置自启动

mkdir -p ~/Library/LaunchAgents

ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents

find /usr/local/Cellar/mysql/ -name "homebrew.mxcl.mysql.plist" -exec cp {} ~/Library/LaunchAgents/ \;

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

修改mysql密码

先启动mysql服务

mysql.server start

继续执行mysql_secure_installation

mysql_secure_installation

查看现有的密码策略

mysql> SHOW VARIABLES LIKE 'validate_password%';

参数解释:

validate_password_dictionary_file 指定密码验证的文件路径;

validate_password_length 密码最小长度

validate_password_mixed_case_count 密码至少要包含的小写字母个数和大写字母个数;

validate_password_number_count 密码至少要包含的数字个数

validate_password_policy 密码强度检查等级,对应等级为:0/LOW、1/MEDIUM、2/STRONG,默认为1。

注意:

0/LOW:只检查长度;

1/MEDIUM:检查长度、数字、大小写、特殊字符;

2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

validate_password_special_char_count密码至少要包含的特殊字符数

修改mysql参数配置

mysql> set global validate_password_policy=0;

Query OK, 0 rows affected (0.05 sec)

mysql>

mysql>

mysql> set global validate_password_mixed_case_count=0;

Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_number_count=3;

Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_special_char_count=0;

Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=3;

Query OK, 0 rows affected (0.00 sec)

修改简单密码:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');

Query OK, 0 rows affected, 1 warning (0.00 sec)

更新MySQL

brew upgrade mysql

关闭MySQL服务

mysql.server stop

重启MySQL服务

mysql.server restart

查看版本

mysql --version

b5935cbbb5cf?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

屏幕快照 2018-01-29 16.41.49.png

进入数据库,数据库默认无密码直接回车两次就好

mysql -u root -p

修改mysql密码

苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)

进入终端输入:cd /usr/local/mysql/bin/

回车后 登录管理员权限 sudo su

回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &

回车后mysql会自动重启(偏好设置中mysql的状态会变成running)

输入命令 ./mysql

回车后,输入命令 FLUSH PRIVILEGES

回车后,输入命令 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码')

至此,密码修改完成,可以成功登陆

卸载

brew remove mysql

brew cleanup

sudo rm /usr/local/mysql

sudo rm -rf /usr/local/var/mysql

sudo rm -rf /usr/local/mysql*

sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

sudo rm -rf /Library/StartupItems/MySQLCOM

sudo rm -rf /Library/PreferencePanes/My*

launchctl unload -w~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

edit /etc/hostconfig and remove the line MYSQLCOM=-YES-

rm -rf ~/Library/PreferencePanes/My*

sudo rm -rf /Library/Receipts/mysql*

sudo rm -rf /Library/Receipts/MySQL*

sudo rm -rf /private/var/db/receipts/*mysql*

/usr/local/Cellar 里的mysql文件

/usr/local/var 里的mysql文件

/tmp 里的mysql.sock, mysql.sock.lock, my.cnf文件

pid文件和err文件都在/usr/local/var/mysql里确保删除了

brew安装的安装包存储在/usr/local/Library/Cache/Homebrew也可以一并删除

执行brew cleanup

我们打开Navicat添加一个数据库连接

b5935cbbb5cf?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

77AA30F1-566B-4629-B44E-513FFE696ADB.png

配置MySQLProvider

在运行项目前,和PostgreSQLProvider需要CPostgreSQL库一样,MySQLProvider也需要为系统安装CMySQL库,这样项目才能够被成功编译:

MacOS:

brew install vapor/tap/cmysql

Ubuntu:

sudo apt-get install cmysql

添加MySQL库的依赖

import PackageDescription

let package = Package(

name: "Ranking_Service", // Perfect的工程名 可自行修改

targets: [],

dependencies: [

.Package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", majorVersion: 2),

//MySql数据库依赖包

.Package(url:"https://github.com/PerfectlySoft/Perfect-MySQL.git", majorVersion: 2, minor: 0)

]

)

重新运行命令

swift package generate-xcodeproj

访问MySQL

我们在main.swift文件添加如下代码

添加 import MySQL

let testHost = "127.0.0.1"

let testUser = "root"

// PLEASE change to whatever your actual password is before running these tests

let testPassword = "123456"

let testSchema = "Test"

请求MySQL,下面官方请求MySQL的例子

let dataMysql = MySQL()

public func useMysql(_ request: HTTPRequest, response: HTTPResponse) {

// need to make sure something is available.

guard dataMysql.connect(host: testHost, user: testUser, password: testPassword ) else {

Log.info(message: "Failure connecting to data server \(testHost)")

return

}

defer {

dataMysql.close() // defer ensures we close our db connection at the end of this request

}

//set database to be used, this example assumes presence of a users table and run a raw query, return failure message on a error

guard dataMysql.selectDatabase(named: testSchema) && dataMysql.query(statement: "select * from Person limit 1") else {

Log.info(message: "Failure: \(dataMysql.errorCode()) \(dataMysql.errorMessage())")

return

}

//store complete result set

let results = dataMysql.storeResults()

//setup an array to store results

var resultArray = [[String?]]()

while let row = results?.next() {

resultArray.append(row)

}

//return array to http response

response.appendBody(string: "

Mysql Test\(resultArray.debugDescription)")

response.completed()

}

添加路演

var routes = Routes()

routes.add(method: .get, uri: "/t", handler: {

request, response in

useMysql(request, response: response)

}

)

运行工程,打开MySQL,浏览器中打开,访问http://localhost:8181/t

就看到了:[[Optional("id")]]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值